gdb调试艺术之定义钩子命令:-D
自定义钩子命令可以在命令执行前/后执行
1.自定义命令执行前的钩子
(gdb) define hook-echo
Type commands for definition of "hook-echo".
End with a line saying just "end".
>echo "<<<"
>end
(gdb) echo
"<<<"(gdb)
2.自定义命令执行后的钩子
(gdb) define hookpost-echo
Type commands for definition of "hookpost-echo".
End with a line saying just "end".
>echo ">>>"
>end
(gdb) echo
"<<<"">>>"(gdb)
3.常用的自定义钩子
define hook-stop # 遇到断点或单步调试时,停顿时的钩子
....
end
define hook-run # 执行run命令时的钩子
...
end
define hook-continue # 执行continue命令时的钩子
...
end
经典用法示例:
1.程序执行时忽略SIGUSR1信号引起的运行停止
(gdb) define hook-run
> handle SIGUSR1 nostop
> end
2.汇编调试时, 跟踪显示汇编以及指定寄存器的信息
(gdb) de