Contents|Index|Previous|Next
User-defined
command hooks
You
may define hooks, which are a special kind of user-defined command.
Whenever you run the command ‘foo’,
if the user-defined command ‘hook-foo’
exists, it is executed (with no arguments) before that command. In addition,
a pseudo-command, ‘stop’
exists. Defining ‘hook-stop’
makes the associated commands execute every time execution stops in your
program: before breakpoint commands are run, displays are printed, or the
stack frame is printed. For example, to ignore SIGALRM
signals while single-stepping, but treat them normally during normal execution,
you could define the following debugging input.
define hook-stop
handle SIGALRM nopass
end
define hook-run
handle SIGALRM pass
end
define hook-continue
handle SIGLARM pass
end
You can define a hook for any
single-word command in GDB, but not for command aliases; you should define
a hook for the basic command name, e.g., backtrace
rather than bt.
If an error occurs during the execution of your hook, execution of GDB
commands stops and GDB issues a prompt (before the command that you actually
used had a chance to run).
If you try to define a hook
which does not match any known command, you get a warning from the define
command.
Top|Contents|Index|Previous|Next