4
我最近才开始发现这个问题,并且我不知道什么时候开始发生/什么原因导致它。由于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作为我的开发环境。
OF NOTE:无论我在main.cpp中有什么,我仍会得到上述的GDB错误。
我以往需要cygboost_filesystem.dll
得到boost_filesystem工作,我需要libgcc_s_sjlj-1.dll
和libstdc++6
,因为它不会没有他们的工作。
如果删除函数体只是返回0会怎样? – 4pie0
@where_is_tftp没有骰子 - 它仍然给出相同的结果。 – Zanaran
,如果删除了boost include和namespace definition,并且只留下#include int main() { return 0; } –
4pie0