binutils-gdb/gdb/python
Simon Marchi a154d838a7 gdb: add names to unwinders, add debug messages when looking for unwinder
I wrote this while debugging a problem where the expected unwinder for a
frame wasn't used.  It adds messages to show which unwinders are
considered for a frame, why they are not selected (if an exception is
thrown), and finally which unwinder is selected in the end.

To be able to show a meaningful, human-readable name for the unwinders,
add a "name" field to struct frame_unwind, and update all instances to
include a name.

Here's an example of the output:

    [frame] frame_unwind_find_by_frame: this_frame=0
    [frame] frame_unwind_try_unwinder: trying unwinder "dummy"
    [frame] frame_unwind_try_unwinder: no
    [frame] frame_unwind_try_unwinder: trying unwinder "dwarf2 tailcall"
    [frame] frame_unwind_try_unwinder: no
    [frame] frame_unwind_try_unwinder: trying unwinder "inline"
    [frame] frame_unwind_try_unwinder: no
    [frame] frame_unwind_try_unwinder: trying unwinder "jit"
    [frame] frame_unwind_try_unwinder: no
    [frame] frame_unwind_try_unwinder: trying unwinder "python"
    [frame] frame_unwind_try_unwinder: no
    [frame] frame_unwind_try_unwinder: trying unwinder "amd64 epilogue"
    [frame] frame_unwind_try_unwinder: no
    [frame] frame_unwind_try_unwinder: trying unwinder "i386 epilogue"
    [frame] frame_unwind_try_unwinder: no
    [frame] frame_unwind_try_unwinder: trying unwinder "dwarf2"
    [frame] frame_unwind_try_unwinder: yes

gdb/ChangeLog:

	* frame-unwind.h (struct frame_unwind) <name>: New.  Update
	instances everywhere to include this field.
	* frame-unwind.c (frame_unwind_try_unwinder,
	frame_unwind_find_by_frame): Add debug messages.

Change-Id: I813f17777422425f0d08b22499817b23922e8ddb
2021-06-29 12:05:03 -04:00
..
lib/gdb gdb: fix python/lib/gdb/__init__.py formatting 2021-06-22 15:07:50 -04:00
py-all-events.def
py-arch.c gdb: delay python initialisation until gdbpy_finish_initialization 2021-04-28 09:56:20 +01:00
py-auto-load.c gdb: remove unnecessary lookup_cmd when deprecating commands 2021-05-27 14:00:07 -04:00
py-block.c gdb: delay python initialisation until gdbpy_finish_initialization 2021-04-28 09:56:20 +01:00
py-bpevent.c
py-breakpoint.c gdb/python: allow for catchpoint type breakpoints in python 2021-06-25 18:22:07 +01:00
py-cmd.c gdb: add context getter/setter to cmd_list_element 2021-06-25 21:35:40 -04:00
py-continueevent.c
py-event-types.def
py-event.c
py-event.h
py-events.h
py-evtregistry.c
py-evts.c
py-exitedevent.c
py-finishbreakpoint.c gdb: remove iterate_over_breakpoints function 2021-05-27 14:58:37 -04:00
py-frame.c gdb/python: add PendingFrame.level and Frame.level methods 2021-06-21 16:20:08 +01:00
py-framefilter.c gdb: fix some indentation issues 2021-05-27 15:01:28 -04:00
py-function.c
py-gdb-readline.c
py-inferior.c gdb/python: move PyLong_From* calls into py-utils.c 2021-06-21 16:09:06 +01:00
py-infevents.c
py-infthread.c
py-instruction.c
py-instruction.h
py-lazy-string.c
py-linetable.c
py-newobjfileevent.c
py-objfile.c gdb: delay python initialisation until gdbpy_finish_initialization 2021-04-28 09:56:20 +01:00
py-param.c gdb: add context getter/setter to cmd_list_element 2021-06-25 21:35:40 -04:00
py-prettyprint.c gdb: fix some indentation issues 2021-05-27 15:01:28 -04:00
py-progspace.c gdb: delay python initialisation until gdbpy_finish_initialization 2021-04-28 09:56:20 +01:00
py-record-btrace.c gdb: make some variables static 2021-01-20 20:55:05 -05:00
py-record-btrace.h
py-record-full.c
py-record-full.h
py-record.c gdb: make some variables static 2021-01-20 20:55:05 -05:00
py-record.h
py-ref.h
py-registers.c gdb: delay python initialisation until gdbpy_finish_initialization 2021-04-28 09:56:20 +01:00
py-signalevent.c
py-stopevent.c
py-stopevent.h
py-symbol.c Restore gdb.SYMBOL_LABEL_DOMAIN constant 2021-06-03 14:56:55 +02:00
py-symtab.c gdb: delay python initialisation until gdbpy_finish_initialization 2021-04-28 09:56:20 +01:00
py-threadevent.c
py-tui.c Forward mouse click to python TUI window 2021-06-04 16:18:10 +02:00
py-type.c Decode Ada types in Python layer 2021-06-25 08:07:21 -06:00
py-unwind.c gdb: add names to unwinders, add debug messages when looking for unwinder 2021-06-29 12:05:03 -04:00
py-utils.c
py-value.c gdb: use gdb::optional instead of passing a pointer to gdb::array_view 2021-06-25 20:43:06 +01:00
py-varobj.c
py-xmethods.c
python-config.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
python-internal.h gdb: make gdbpy_parse_command_name return a unique_xmalloc_ptr 2021-05-12 13:50:09 -04:00
python.c gdb: make add_com_alias accept target as a cmd_list_element 2021-05-27 14:00:07 -04:00
python.h