diff options
author | Tom de Vries <tdevries@suse.de> | 2022-12-31 10:23:06 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-12-31 10:23:06 +0100 |
commit | 08c59458a106038c6d678621e7290948127671e2 (patch) | |
tree | 64912d2f4d83b4eda9fcfe45b757a8063f5ad57b /gdb/stap-probe.c | |
parent | a667697f36ef4f910e09c4a02f34a44fa3e86157 (diff) | |
download | gdb-08c59458a106038c6d678621e7290948127671e2.zip gdb-08c59458a106038c6d678621e7290948127671e2.tar.gz gdb-08c59458a106038c6d678621e7290948127671e2.tar.bz2 |
[gdb/cli] Add maintenance ignore-probes
There's a command "disable probes", but SystemTap probes, for instance
libc:longjmp cannot be disabled:
...
$ gdb -q -batch a.out -ex start -ex "disable probes libc ^longjmp$"
...
Probe libc:longjmp cannot be disabled.
Probe libc:longjmp cannot be disabled.
Probe libc:longjmp cannot be disabled.
...
Add a command "maintenance ignore-probes" that ignores probes during
get_probes, such that we can easily pretend to use a libc without the
libc:longjmp probe:
...
(gdb) maint ignore-probes -verbose libc ^longjmp$
ignore-probes filter has been set to:
PROVIDER: 'libc'
PROBE_NAME: '^longjmp$'
OBJNAME: ''
(gdb) start ^M
...
Ignoring SystemTap probe libc longjmp in /lib64/libc.so.6.^M
Ignoring SystemTap probe libc longjmp in /lib64/libc.so.6.^M
Ignoring SystemTap probe libc longjmp in /lib64/libc.so.6.^M
...
The "Ignoring ..." messages can be suppressed by not using -verbose.
Note that as with "disable probes", running simply "maint ignore-probes"
ignores all probes.
The ignore-probes filter can be reset by using:
...
(gdb) maint ignore-probes -reset
ignore-probes filter has been reset
...
For now, the command is only supported for SystemTap probes.
PR cli/27159
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=27159
Diffstat (limited to 'gdb/stap-probe.c')
-rw-r--r-- | gdb/stap-probe.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c index 6f91d87..f119e2c 100644 --- a/gdb/stap-probe.c +++ b/gdb/stap-probe.c @@ -1619,6 +1619,9 @@ handle_stap_probe (struct objfile *objfile, struct sdt_note *el, return; } + if (ignore_probe_p (provider, name, objfile_name (objfile), "SystemTap")) + return; + stap_probe *ret = new stap_probe (std::string (name), std::string (provider), address, gdbarch, sem_addr, probe_args); |