我得到一个奇怪的例外,当我退出程序时抛出。这是从今天早上开始的,我准备把我的头发拉出来。当我退出程序时,Visual Studio提供了一个异常,并在文件crt0dat.c线731(参见附截图)异常退出程序(OGRE3D)
我知道这是很少去停止。我尝试了几种不同的东西:
- un程序没有做任何事情,也就是说,根本不初始化Ogre Core。不会导致崩溃
- 除了创建Ogre根目录(与Ogre本身相关并且与我的代码无关),运行程序时将注释掉的所有内容都注释掉了,导致同样的崩溃
- 运行以下程序尽可能基本,但仍然导致崩溃。 返回0后的崩溃发生,当我的程序运行完毕后
#include "windows.h"
#include "OgreRoot.h"
/// --------------------------------------------
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT)
{
Ogre::Root* lRoot = new Ogre::Root();
delete lRoot;
lRoot = NULL;
return 0;
}
/// --------------------------------------------
因为我对SVN的一切,我跑我的笔记本电脑在同一个项目,它的工作没有任何问题,因为以及退出没有任何问题。这使我相信我的视觉工作室在某个地方受到了损坏。我卸载了Visual Studio,然后重新安装了它,但是问题依然存在(当VS安装它时,我的系统无处不在,无法控制它,有人知道完全销毁Visual Studio安装的绝对方法吗?)。我缺乏想法,很少重新安装Windows。我希望这里的某个人能够有所帮助。
调用堆栈:
048b0910()
ntdll.dll!775d9901()
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!775edc30()
ntdll.dll!775edb7c()
kernel32.dll!76c67363()
> msvcr90d.dll!__crtExitProcess(int status=0) + 0x1b bytes C
msvcr90d.dll!doexit(int code=0, int quick=0, int retcaller=0) + 0x1d1 bytes C
msvcr90d.dll!exit(int code=0) + 0x12 bytes C
OgreFWGame.exe!__tmainCRTStartup() + 0x2a2 bytes C
OgreFWGame.exe!WinMainCRTStartup() + 0xf bytes C
kernel32.dll!76c63677()
ntdll.dll!775d9d42()
ntdll.dll!775d9d15()
崩溃抓屏:
link text
我结束了重新安装Windows,我无法找到问题的根源,它成功地浪费了2天的生产力(良好,不完全,但卸载/修复/重新安装会浪费时间)。如果有人遇到这个问题,使用任何SDK,请节省一些时间并重新安装Windows。我有一个体面的设置,一切都在服务器上,所以重新安装Windows和程序不会超过几个小时。我刚刚通过重新编译运行程序进行了检查,并没有出现任何问题。 – Samaursa 2010-06-29 00:15:48
你认为在沙箱中安装VS会更容易删除吗? – wrongusername 2012-01-01 21:56:12
@wrongusername:这是一个有趣的问题。我从来没有尝试过。我自己试图在安装时使用revo卸载程序,然后将其删除。不起作用。之后Visual Studio拒绝安装。 – Samaursa 2012-01-02 02:33:43