【发布时间】:2013-06-19 05:07:50
【问题描述】:
我的程序在崩溃之前似乎运行了很短的时间并出现以下错误:
Unhandled exception at 0x001FFF23 in Program.exe: 0xC0000005:
Access violation reading location 0x040FA010.
调用堆栈非常无用(此模块的调试信息中缺少源信息),所以我不知道问题出在哪里。程序在崩溃之前正常运行了不同的时间(几百帧),因此使用断点定位问题非常困难。尝试加载符号,但未找到符号。
ntdll.dll!_NtRaiseException@12() Unknown
ntdll.dll!_KiUserExceptionDispatcher@8() Unknown
0027ff23() Unknown
[Frames below may be incorrect and/or missing]
nvoglv32.dll!582c9af4() Unknown
nvoglv32.dll!582c9dbb() Unknown
nvoglv32.dll!582cdbd3() Unknown
nvoglv32.dll!582d0918() Unknown
nvoglv32.dll!57a9491b() Unknown
nvoglv32.dll!580c5f35() Unknown
KernelBase.dll!_GlobalAlloc@8() Unknown
nvoglv32.dll!57a058a5() Unknown
nvoglv32.dll!579f60ab() Unknown
nvoglv32.dll!582df7ce() Unknown
nvoglv32.dll!57a106e5() Unknown
nvoglv32.dll!58190f2d() Unknown
nvoglv32.dll!582bb8c7() Unknown
nvoglv32.dll!57a0b621() Unknown
nvoglv32.dll!5823285b() Unknown
nvoglv32.dll!58232a9d() Unknown
KernelBase.dll!_HeapCreate@12() Unknown
ntdll.dll!_NtFreeVirtualMemory@16() Unknown
KernelBase.dll!_GlobalFree@4() Unknown
查看调用堆栈,我认为它与 OpenGL 相关,但 glGetError() 从不表示有问题。我的程序很长,所以我没有在这里发布。此外,我的问题不仅仅是修复这个特定的异常,而是找到一种有效的方法来在未来调试它们。逐行阅读整个程序不是一个,因为我不知道问题发生在哪个函数中。 /W3 没有编译器警告,所以我不知道从哪里开始。如何在 Visual Studio 2012 Ultimate 中找出异常发生的确切位置?
【问题讨论】:
-
您是否启用了
Debug -> Exceptions... -> Win32 Exceptions -> Access violation选项?
标签: c++ visual-c++ opengl visual-studio-2012