【发布时间】:2009-01-16 14:42:26
【问题描述】:
这是一个相当复杂的错误,我尝试四处寻找其他帮助来源,但由于我不明白的原因,“Vista 中的程序崩溃”不是最有用的查询。
我遇到的问题是我正在开发的程序 - 一个使用 OpenGL 和 Windows API 的图形化、多线程数据可视化软件 - 在 WinMain() 返回后崩溃。我尝试逐步执行关闭例程以及查看堆栈跟踪,最后一点不是汇编的代码是_crtExitProcess,它在实际的ExitProcess(0) 调用中崩溃。之后,堆栈跟踪显示 kernel32.dll 和四个 ntdll.dll,这是它实际崩溃的地方。
这个bug只出现在Vista上,同样的代码在XP上运行正常退出。我真的想不出任何可以帮助我调试这个问题的东西,而调试这个问题是我从未真正学到的东西。任何帮助将不胜感激。
【问题讨论】:
-
你得到的异常到底是什么?
-
0xC0000005 - 访问冲突。
-
您是否设法在 purify 之类的内存调试器下运行它?对我来说似乎是一个记忆问题......
标签: c++ multithreading debugging visual-c++ windows-vista