好的,所以我试图编译自己的Penumbra:Overture,这是FrictionalGames的开源游戏。当我在Visual Studio 2010 Debug模式下运行游戏时,出现以下错误:

First-chance exception at 0x011e0b0e in Penumbra.exe: 0xC0000005: Access violation reading location 0xbaadf011.

Unhandled exception at 0x76f115de in Penumbra.exe: 0xC0000005: Access violation reading location 0xbaadf011.

然后Visual Studio询问我是否要中断执行或继续执行,如果我按“继续”键,它将从游戏源跳转到tidtable.c,当我再次按“继续”键时,它将在第145和498行之间跳转。这就是所有信息我可以想到现在就给。

最佳答案



那是0xbaadf00d +4。0xbaadf00d是用于通过HeapAlloc()分配的initialize memory的值。换句话说,游戏的源代码中存在一个错误。它忘记初始化一个指针。查看调用堆栈窗口,以查看哪些代码使用了该指针,然后追溯到包含该指针的对象所在的位置。

在发生访问冲突后,您将无法继续运行或调试程序。您最终出现在tidtable.c中,因为其中包含在心脏病发作后终止程序的CRT代码。

关于c++ - C++调试半影游戏,tidtable.c中的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10384010/

10-11 22:16
查看更多