1

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

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行之间跳转。这就是所有信息我现在可以考虑给予。

4

1 回答 1

3

访问冲突读取位置 0xbaadf011

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

在访问冲突之后,您无法继续运行或调试程序。您最终进入了 tidtable.c,因为它包含在心脏病发作后终止您的程序的 CRT 代码。

于 2012-04-30T13:00:52.960 回答