[英]Exception thrown when exiting program (Ogre3d)
退出程序時,我收到一個奇怪的異常。 從今天早上開始,這已經開始了,我已經准備好拔頭發了。 退出程序后,Visual Studio會立即給出異常,並在文件crt0dat.c中的第731行處停止(請參閱隨附的屏幕截圖)。
我知道這很少繼續進行。 我嘗試了幾種不同的方法:
#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()
崩潰截屏:
連結文字
那不是您應該初始化和使用Ogre的方式。 丟失初始化工作很可能是導致崩潰的原因。
要開始使用食人魔,我強烈建議您遵循這些教程並從中學習
編輯:可以在以下位置找到針對食人魔的Visual Studio項目模板: http : //code.google.com/p/ogreappwizards/updates/list,以快速入門。
感謝大家在這個問題上的幫助。 我最終重新安裝了Windows(我嘗試卸載Visual Studio並重新安裝它,但是在卸載VS時出了點問題[我按照Microsoft的指示進行操作,並且它拒絕再次安裝[安裝程序將崩潰])。 我希望他們可以輕松卸載Visual Studio。
在重新安裝Windows之前,我浪費了大約3天的時間。 我的建議是,如果您有另一台計算機繼續進行工作,則是在發生這種情況時這樣做,而不是浪費時間。 如果您確實找到解決問題的方法,請告訴我:)
我最近在Visual Studio 2010中設置了食人魔,直到我將其復制到正確的DLL中之前,它都無法正常工作-我一直在使用Visual Studio 2008中一個稍舊版本的食人魔編譯的集合。聽起來像是整個食人魔編譯或DLL可能已經通過SVN復制了,這可能會引起奇怪的問題。
希望它能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.