diff options
author | Pedro Alves <pedro@palves.net> | 2022-03-18 19:14:25 +0000 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2022-03-18 19:25:09 +0000 |
commit | b7e077222ee350f4bd6c76134064acdbd2ce2b32 (patch) | |
tree | 0ab351426bb04378a076b4e9b539385cac96204d | |
parent | da729c5ccde6eeccae539cbe51a285bc84769b3d (diff) | |
download | binutils-b7e077222ee350f4bd6c76134064acdbd2ce2b32.zip binutils-b7e077222ee350f4bd6c76134064acdbd2ce2b32.tar.gz binutils-b7e077222ee350f4bd6c76134064acdbd2ce2b32.tar.bz2 |
Fix crash with stepi, no debug info, and "set debug infrun 1"
A stepi in a function without debug info with "set debug infrun 1"
crashes GDB since commit c8353d682f69 (gdb/infrun: some extra infrun
debug print statements), due to a reference to
"tp->current_symtab->filename" when tp->current_symtab is null.
This commit adds the missing null check. The output in this case
becomes:
[infrun] set_step_info: symtab = <null>, line = 0, step_frame_id = {stack=0x7fffffffd980,code=0x0000000000456c30,!special}, step_stack_frame_id = {stack=0x7fffffffd980,code=0x0000000000456c30,!special}
Change-Id: I5171a9d222bc7e15b9dba2feaba7d55c7acd99f8
-rw-r--r-- | gdb/infrun.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index bc6521c..104c29a 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4180,7 +4180,8 @@ set_step_info (thread_info *tp, struct frame_info *frame, infrun_debug_printf ("symtab = %s, line = %d, step_frame_id = %s, step_stack_frame_id = %s", - tp->current_symtab->filename, tp->current_line, + tp->current_symtab != nullptr ? tp->current_symtab->filename : "<null>", + tp->current_line, tp->control.step_frame_id.to_string ().c_str (), tp->control.step_stack_frame_id.to_string ().c_str ()); } |