Is it possible to "inject" into the stack or show non-stack entries via frame decorator api?
Simon Sobisch via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
Scenario:
the current call-stack currently looks like
#0 func3
#1 func3_wrapper
#2 func2
#3 func2_wrapper
#4 func1
#5 func1_wrapper
#6 main
Using frame filters it is no problem to change that to either
#0 func3
#2 func2
#4 func1
or
#0 func3
#1 func3_wrapper
#2 func2
#3 func2_wrapper
#4 func1
#5 func1_wrapper
#6 main
Question: Is it possibly to also add a "virtual" stack entry (one could
select/up/down to), or at least show it in the backtrace?
Something like the following:
#0 func3 at ...
#0.1 func3_part_a at ...
#0.2 func3_part_c at ...
#0.3 func3_part_b at ...
#0.4 func3_part_a at ...
#0.5 func3_start at ...
#2 func2 at ...
Background:
Each of those "func" entries in the stack have an internal frame
handling using a linked list that contains label address pointers. It
would be very cool to list those directly (currently only done with
additional commands local-backtrace and list-local-frame which I'd like
to drop).
I _guess_ adding those to the shown stack may be possible, but likely
only with telling GDB about those (patching GDB), but maybe there's a
way to at least print those with their positions in "bt" using a frame
decorator?
Thanks for answers,
Simon