c – 由于KERNELBASE.dll错误,GDB无法运行程序

我最近才刚开始遇到这个问题,我不知道它什么时候开始出现/是什么原因造成的.

我在这里有这个简单的测试程序:

#include <iostream>

int main()
{
    return 0;
}

但是当我尝试正常运行时,它会创建一个stackdump.

Stack trace:
Frame     Function  Args
00CBC498  6101D93A (00000198, 0000EA60, 000000A4, 00CBC508)
00CBC5C8  610E2F3F (00000000, 60FC04E8, 00CBC658, 7794ABEE)

但是,当我尝试在GDB中运行它时,它显然无法这样做.

gdb: unknown target exception 0x406d1388 at 0x778edae8

Program received signal ?, Unknown signal.
0x778edae8 in RaiseException ()
   from /cygdrive/c/WINDOWS/SYSTEM32/KERNELBASE.dll
(gdb) n
Single stepping until exit from function RaiseException,
which has no line number information.
[Thread 14880.0x11ac exited with code 1080890248]
[Thread 14880.0x3fd8 exited with code 1080890248]
[Thread 14880.0x3b24 exited with code 1080890248]
[Inferior 1 (process 14880) exited with code 010033211610]

这就是我的编译器的设置方式:

g++ -g -std=c++1y -Wall -c main.cpp -o main.o main.cpp compiled... 
g++ -g -std=c++1y -Wall -o a main.o Successfully compiled!

知道我在这里做错了吗?
我正在使用的平台是Windows,我正在使用Cygwin作为我的开发环境.

注意:无论我在main.cpp中有什么,我仍然会得到上述的GDB错误.

另请注意:以下是a.exe可执行文件中的其他文件:
《c – 由于KERNELBASE.dll错误,GDB无法运行程序》

我以前需要cygboost_filesystem.dll才能使boost_filesystem正常工作,我需要libgcc_s_sjlj-1.dll和libstdc 6,因为没有它们就无法工作.

最佳答案 将gdb更新为7.11.1-1实验发行版.

Details of GDB bug

点赞