接收信号时如何自动化GDB核心转储
How to automate gdb core dumping when receiving signal
我想避免在应用程序获得SIGSEGV
后忘记生成核心转储文件的情况,您离开GDB,然后丢失了有关此崩溃的信息。
我正在寻找的是对commands
的类似物(用于断点),因此我可以在我的应用接收信号时脚本脚本执行一组命令。
像 display
一样,每个命令也可以工作后执行的蜂蜂。这里的重点是我找不到如何检查x信号是否生成。
首先,我更喜欢它是在GDB中配置的东西。这样,我的意思是不必更改应用程序/GDB的启动方式。
预先感谢。
如果您的GDB支持catch signal
命令,则可以像断点一样脚本。
$ gdb ab
(gdb) list
1 main()
2 {
3 abort();
4 }
(gdb) catch signal SIGABRT
Catchpoint 1 (signal SIGABRT)
(gdb) commands
Type commands for breakpoint(s) 1, one per line.
>generate-core-file
>end
(gdb) run
Catchpoint 1 (signal SIGABRT), 0x00007ffff7a4692f in raise ()
from /lib64/libc.so.6
Saved corefile core.2097
相关文章:
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 如何找出GDB的SIGTRAP核心转储的根本原因
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 使用vscode调试时,GDB意外退出
- 如何防止 CUDA-GDB 中的<优化输出>值
- fopen 在 gdb 中返回 NULL
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- 结构字段名称与 GDB 中的 STL 数组冲突
- Qt QML桌面应用程序自动化测试
- 如何在带有 gdb GUI 前端的 ARM gdbserver 的 PC 上执行远程 gdb 会话?
- GDB 断点在 Mac 上是不准确的
- 如何解释GDB中回溯的模板函数签名?
- 如果以下行不包含决策或分支,GDB 无法单步跳过函数
- 这是 ubuntu 16.04 中的 gdb 错误吗?
- 如何为从 Python 调用C++启动 GDB?
- 如何打印源文件中与 GDB 中的程序流关联的所有行号
- 堆叠协程 + gdb = "previous frame inner to this frame (corrupt stack)?"
- 带有 GDB 调试器的 VS 代码内存视图
- 接收信号时如何自动化GDB核心转储