这个问题很可能是使用 Cygwin 可执行文件中的堆栈转储的重复- 但我是初学者,我不理解答案,甚至部分问题。
我对 C++ 和编程很陌生,我正在使用 NetBeans 进行开发。我正在处理一些编译得很好但运行时失败的代码。如果我使用调试器,我会收到以下错误:
1 [main] all 6200 exception::handle: Exception: STATUS_ACCESS_VIOLATION
881 [main] all 6200 open_stackdumpfile: Dumping stack trace to all.exe.stackdump
我设法找到了文件 all.exe.stackdump,我可以通过 notepad++ 读取它,但我不明白它的含义。我通过另一个问题收集到有一种用户友好的方式来解码这个文件,但我最好的猜测bash$ gdb all.exe.stackdump
是无效的。我在调试中使用此文件的最佳方式是什么?
以防万一,这里是 all.exe.stackdump 的内容
Exception: STATUS_ACCESS_VIOLATION at eip=00434C41
eax=2003A2E4 ebx=0028A95C ecx=00000000 edx=0028A95C esi=0028A9B0 edi=00000000
ebp=0028A9C8 esp=0028A930 program=[redacted for privacy/security], pid 6200, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
0028A9C8 00434C41 (00000000, 2003A4F0, 0028A9E8, 00000000)
0028A9E8 00436B14 (00000000, 2003A4F0, 0028AA28, 0028D000)
0028AAF8 004036A4 (0028AB80, 2003A2B0, 00000014, 00000003)
0028ABD8 00403FBC (00000001, 0028AC00, 200280E8, 2003A189)
0028ACF8 61007535 (00000000, 0028CD78, 61006B20, 00000000)
End of stack trace