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

时间:2008-11-26 07:47:59

标签: debugging gdb cygwin coredump insight

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

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

2 个答案:

答案 0 :(得分:43)

您可以指示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"

答案 1 :(得分:0)

首先,确保在启用源调试的情况下构建(使用-g选项):

gcc -g -o myfile myfile.c

然后在崩溃(或洞察或ddd)

之后将转储加载到gdb中
gdb myfile core