diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2020-08-24 15:49:46 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2020-08-24 15:49:47 -0400 |
commit | 1eb8556f5a8b5712e765b9615f7c18ffb50253b6 (patch) | |
tree | d6e4f5f9ad743e848f7bcd4bf1e144fbf3bb72c9 /gdb/breakpoint.c | |
parent | 0f55320bc46869b87c54d3432fb344f785f07b33 (diff) | |
download | gdb-1eb8556f5a8b5712e765b9615f7c18ffb50253b6.zip gdb-1eb8556f5a8b5712e765b9615f7c18ffb50253b6.tar.gz gdb-1eb8556f5a8b5712e765b9615f7c18ffb50253b6.tar.bz2 |
gdb: add infrun_debug_printf macro
Introduce this macro to print debug statements in the infrun.c file,
same idea as what was done in 9327494e0eeb ("gdb: add
linux_nat_debug_printf macro").
Although in this case, there are places outside infrun.c that print
debug statements if debug_infrun is set. So the macro has to be
declared in the header file, so that it can be used in these other
files.
Note one special case. In stop_all_threads, I've used an explicit
if (debug_infrun)
infrun_debug_printf_1 ("stop_all_threads", "done");
for the message in the SCOPE_EXIT. Otherwise, the message appears like
this:
[infrun] operator(): done
Until we find a better solution for extracting a meaningful function
name for lambda functions, I think it's fine to handle these special
cases manually, they are quite rare.
Some tests need to be updated, because they rely on some infrun debug
statements.
gdb/ChangeLog:
* infrun.h (infrun_debug_printf_1): New function declaration.
(infrun_debug_printf): New macro.
* infrun.c (infrun_debug_printf_1): Use infrun_debug_printf
throughout.
(infrun_debug_printf): New function.
* breakpoint.c (should_be_inserted): Use infrun_debug_printf.
(handle_jit_event): Likewise.
gdb/testsuite/ChangeLog:
* gdb.base/gdb-sigterm.exp (do_test): Update expected regexp.
* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
Likewise.
* gdb.threads/stepi-random-signal.exp: Likewise.
Change-Id: I66433c8a9caa64c8525ab57c593022b9d1956d5c
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r-- | gdb/breakpoint.c | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 977599d..ef8e54f 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -2035,13 +2035,8 @@ should_be_inserted (struct bp_location *bl) && !(bl->owner->type == bp_single_step && thread_is_stepping_over_breakpoint (bl->owner->thread))) { - if (debug_infrun) - { - fprintf_unfiltered (gdb_stdlog, - "infrun: skipping breakpoint: " - "stepping past insn at: %s\n", - paddress (bl->gdbarch, bl->address)); - } + infrun_debug_printf ("skipping breakpoint: stepping past insn at: %s", + paddress (bl->gdbarch, bl->address)); return 0; } @@ -2050,14 +2045,9 @@ should_be_inserted (struct bp_location *bl) if ((bl->loc_type == bp_loc_hardware_watchpoint) && stepping_past_nonsteppable_watchpoint ()) { - if (debug_infrun) - { - fprintf_unfiltered (gdb_stdlog, - "infrun: stepping past non-steppable watchpoint. " - "skipping watchpoint at %s:%d\n", - paddress (bl->gdbarch, bl->address), - bl->length); - } + infrun_debug_printf ("stepping past non-steppable watchpoint. " + "skipping watchpoint at %s:%d\n", + paddress (bl->gdbarch, bl->address), bl->length); return 0; } @@ -5446,8 +5436,7 @@ handle_jit_event (void) struct frame_info *frame; struct gdbarch *gdbarch; - if (debug_infrun) - fprintf_unfiltered (gdb_stdlog, "handling bp_jit_event\n"); + infrun_debug_printf ("handling bp_jit_event"); /* Switch terminal for any messages produced by breakpoint_re_set. */ |