使用来自Cygwin可执行文件的stackdump

Ger*_*ard 24 debugging cygwin gdb coredump insight

所以我编写了偶尔崩溃的错误代码......并创建了一个stackdump文件.

使用addr2line我可以通过解码一个地址来弄清楚程序如何到达崩溃点.是否有替代工具可以使用堆栈转储简化调试?有没有办法在Insight/Gdb中加载此信息?

Ger*_*ard 45

您可以指示Cygwin在发生故障时及时启动您的gdb调试器.要实现此目的,请添加error_start=action到Cygwin环境变量:
export CYGWIN="$CYGWIN error_start=gdb -nw %1 %2"

否则,您可以让Cygwin生成真正的核心转储.
export CYGWIN="$CYGWIN error_start=dumper -d %1 %2"

  • 并运行`gdb path/to/the/path path/to/the/core`来调试它.感谢http://stackoverflow.com/a/5115653/204658. (3认同)
  • @CMCDragonkai供将来参考,您可以在 gdb 中键入“kill”来终止调试进程,然后“quit”也退出 gdb。 (2认同)