我得到一個奇怪的例外,當我退出程序時拋出。這是從今天早上開始的,我準備把我的頭髮拉出來。當我退出程序時,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