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) define hook-stop
Type commands for definition of "hook-stop".
End with a l
gdb调试艺术:自定义钩子命令-D

本文介绍了如何在gdb中利用-D选项定义钩子命令,实现命令执行前后的自定义操作,包括忽略SIGUSR1信号、调试汇编及显示寄存器信息等经典用法。
最低0.47元/天 解锁文章
462

被折叠的 条评论
为什么被折叠?



