Simon Marchi
fe67a58f98
gdb: introduce FRAME_SCOPED_DEBUG_ENTER_EXIT
Introduce FRAME_SCOPED_DEBUG_ENTER_EXIT and use it to print enter/exit
messages in important frame-related functions. I think this helps
understand which lower-level operations are done as part of which
higher-level operation. And it helps visually skip over a higher-level
operation you are not interested in.
Here's an example, combined with some py-unwind messages:
[frame] frame_unwind_find_by_frame: enter
[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"
[py-unwind] pyuw_sniffer: enter
[frame] frame_unwind_register_value: enter
[frame] frame_unwind_register_value: frame=-1, regnum=7(rsp)
[frame] frame_unwind_register_value: -> register=7 bytes=[40ddffffff7f0000]
[frame] frame_unwind_register_value: exit
[py-unwind] pyuw_sniffer: frame=0, sp=0x7fffffffdd40, pc=0x5555555551ec
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_eq: l={stack=<sentinel>,!code,special=0x0000000000000000}, r={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_unwind_register_value: enter
[frame] frame_unwind_register_value: frame=-1, regnum=6(rbp)
[frame] frame_unwind_register_value: -> register=6 bytes=[50ddffffff7f0000]
[frame] frame_unwind_register_value: exit
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_eq: l={stack=<sentinel>,!code,special=0x0000000000000000}, r={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] get_prev_frame: enter
[frame] get_prev_frame_always_1: enter
[frame] get_prev_frame_always_1: this_frame=-1
[frame] get_prev_frame_always_1: -> {level=0,type=NORMAL_FRAME,unwind=0x5588ee3d17c0,pc=0x5555555551ec,id=<not computed>,func=<unknown>} // cached
[frame] get_prev_frame_always_1: exit
[frame] get_prev_frame: exit
[frame] value_fetch_lazy_register: (frame=0, regnum=6(rbp), ...) -> register=6 bytes=[50ddffffff7f0000]
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_eq: l={stack=<sentinel>,!code,special=0x0000000000000000}, r={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_unwind_register_value: enter
[frame] frame_unwind_register_value: frame=-1, regnum=7(rsp)
[frame] frame_unwind_register_value: -> register=7 bytes=[40ddffffff7f0000]
[frame] frame_unwind_register_value: exit
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_eq: l={stack=<sentinel>,!code,special=0x0000000000000000}, r={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] get_prev_frame: enter
[frame] get_prev_frame_always_1: enter
[frame] get_prev_frame_always_1: this_frame=-1
[frame] get_prev_frame_always_1: -> {level=0,type=NORMAL_FRAME,unwind=0x5588ee3d1824,pc=0x5555555551ec,id=<not computed>,func=<unknown>} // cached
[frame] get_prev_frame_always_1: exit
[frame] get_prev_frame: exit
[frame] value_fetch_lazy_register: (frame=0, regnum=7(rsp), ...) -> register=7 bytes=[40ddffffff7f0000]
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_eq: l={stack=<sentinel>,!code,special=0x0000000000000000}, r={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_unwind_register_value: enter
[frame] frame_unwind_register_value: frame=-1, regnum=16(rip)
[frame] frame_unwind_register_value: -> register=16 bytes=[ec51555555550000]
[frame] frame_unwind_register_value: exit
[frame] frame_id_p: l={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] frame_id_eq: l={stack=<sentinel>,!code,special=0x0000000000000000}, r={stack=<sentinel>,!code,special=0x0000000000000000} -> 1
[frame] get_prev_frame: enter
[frame] get_prev_frame_always_1: enter
[frame] get_prev_frame_always_1: this_frame=-1
[frame] get_prev_frame_always_1: -> {level=0,type=NORMAL_FRAME,unwind=0x5588ee3d1888,pc=0x5555555551ec,id=<not computed>,func=<unknown>} // cached
[frame] get_prev_frame_always_1: exit
[frame] get_prev_frame: exit
[frame] value_fetch_lazy_register: (frame=0, regnum=16(rip), ...) -> register=16 bytes=[ec51555555550000]
[py-unwind] pyuw_sniffer: frame claimed by unwinder test unwinder
[py-unwind] pyuw_sniffer: exit
[frame] frame_unwind_try_unwinder: yes
[frame] frame_unwind_find_by_frame: exit
gdb/ChangeLog:
* frame.h (FRAME_SCOPED_DEBUG_ENTER_EXIT): New.
* frame.c (compute_frame_id, get_prev_frame_always_1,
get_prev_frame): Use FRAME_SCOPED_DEBUG_ENTER_EXIT.
* frame-unwind.c (frame_unwind_find_by_frame): Likewise.
(frame_unwind_register_value): Likewise.
Change-Id: I45b69b4ed962e70572bc55b8adfb211483c1eeed
2021-06-29 12:05:14 -04:00
..
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-04-15 10:14:11 -06:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-02-05 09:14:25 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-04-16 11:14:16 -03:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-03-30 15:16:26 +02:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-05-27 15:22:38 +02:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-06-25 20:54:29 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-05-21 17:21:20 +02:00
2021-04-14 19:10:02 +02:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-03-22 14:34:53 +00:00
2021-03-22 14:34:53 +00:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-28 08:14:58 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-25 16:32:31 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-06-29 12:05:14 -04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-29 13:36:52 +01:00
2021-01-29 13:36:52 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-03-22 10:00:19 +00:00
2021-04-07 11:31:30 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-06-07 16:45:10 +01:00
2021-06-07 16:45:10 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-03-06 09:26:39 -07:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-02-08 15:18:12 +01:00
2021-01-01 12:12:21 +04:00
2021-04-07 11:41:49 +01:00
2021-04-07 11:41:49 +01:00
2021-01-01 12:12:21 +04:00
2021-04-07 11:41:49 +01:00
2021-02-01 18:24:49 +01:00
2021-04-07 11:41:49 +01:00
2021-02-01 18:24:49 +01:00
2021-04-07 11:41:49 +01:00
2021-02-01 18:24:49 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-04-07 11:41:49 +01:00
2021-04-07 11:41:49 +01:00
2021-04-07 11:41:50 +01:00
2021-04-07 11:41:50 +01:00
2021-04-07 11:41:49 +01:00
2021-02-01 18:24:49 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-05-10 23:14:41 +01:00
2021-01-01 12:12:21 +04:00
2021-04-17 13:40:04 -06:00
2021-05-27 15:22:38 +02:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-04-26 09:53:32 -06:00
2021-04-26 09:53:32 -06:00
2021-04-26 09:53:32 -06:00
2021-06-22 15:58:09 +02:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-02-02 10:40:52 -05:00
2021-02-02 10:40:52 -05:00
2021-02-02 10:42:12 -05:00
2021-02-02 10:42:12 -05:00
2021-06-22 16:39:01 +02:00
2021-06-22 16:39:01 +02:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-02-05 10:56:39 +01:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-03-30 13:37:11 -04:00
2021-06-02 21:24:45 +02:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-02-16 22:26:43 +05:30
2021-02-02 10:40:52 -05:00
2021-02-02 10:42:12 -05:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00
2021-01-01 12:12:21 +04:00