能否在GDB捕获到SIGSEGV信号时自定义执行调试命令?
在GDB中捕获SIGSEGV时自定义执行命令
当然可以,你给出的示例就是正确的实现方法。
在GDB里,你可以通过以下步骤设置捕获SIGSEGV信号时自动执行指定命令:
- 使用
b SIGSEGV命令设置针对SIGSEGV信号的断点 - 用
commands关键字开启命令块,在块内编写要执行的命令 - 最后用
end结束命令块
完整示例如下:
b SIGSEGV commands i r x/100x $sp end
其中:
i r:输出所有寄存器的当前值,帮你快速掌握崩溃瞬间的CPU状态x/100x $sp:从栈指针$sp指向的地址开始,以十六进制格式查看100个内存单元的内容,便于分析栈帧信息
内容的提问来源于stack exchange,提问作者vtable
相关产品推荐
相关产品推荐

