我有一个已编译的.exe文件(使用gfortran和-g选项编译)崩溃。我可以使用 WinDBG -I 命令将WinDBG程序附加到它。
有趣的是它会产生堆栈溢出:
(38f0.2830): Stack overflow - code c00000fd (!!! second chance !!!)
但是,输出显示我的程序中没有调试信息。它试图搜索.dbg或.pdb文件,但它们不在那里。我假设调试信息包含在可执行文件中(来自unix-background)。
答案 0 :(得分:0)
调试格式是特定于编译器的,因此您需要使用能够理解编译器生成的格式的调试器。正如gfortran我假设你的意思是GNU fortran,这将是GNU gdb调试器。
答案 1 :(得分:0)
我通过gdb启动程序来规避问题。通过这种方式,gdb将发出错误,您可以发出backtrace命令。
它并不完美,所以我愿意接受更好的解决方案,但现在这种方法很有效。