2010-06-28 109 views
2

我得到一個奇怪的例外,當我退出程序時拋出。這是從今天早上開始的,我準備把我的頭髮拉出來。當我退出程序時,Visual Studio提供了一個異常,並在文件crt0dat.c線731(參見附截圖)異常退出程序(OGRE3D)

我知道這是很少去停止。我嘗試了幾種不同的東西:

  1. un程序沒有做任何事情,也就是說,根本不初始化Ogre Core。不會導致崩潰
  2. 除了創建Ogre根目錄(與Ogre本身相關並且與我的代碼無關),運行程序時將註釋掉的所有內容都註釋掉了,導致同樣的崩潰
  3. 運行以下程序儘可能基本,但仍然導致崩潰。 返回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

+1

我結束了重新安裝Windows,我無法找到問題的根源,它成功地浪費了2天的生產力(良好,不完全,但卸載/修復/重新安裝會浪費時間)。如果有人遇到這個問題,使用任何SDK,請節省一些時間並重新安裝Windows。我有一個體面的設置,一切都在服務器上,所以重新安裝Windows和程序不會超過幾個小時。我剛剛通過重新編譯運行程序進行了檢查,並沒有出現任何問題。 – Samaursa 2010-06-29 00:15:48

+0

你認爲在沙箱中安裝VS會更容易刪除嗎? – wrongusername 2012-01-01 21:56:12

+0

@wrongusername:這是一個有趣的問題。我從來沒有嘗試過。我自己試圖在安裝時使用revo卸載程序,然後將其刪除。不起作用。之後Visual Studio拒絕安裝。 – Samaursa 2012-01-02 02:33:43

回答

2

感謝大家對這個問題的幫助。我結束了重新安裝Windows(我試圖卸載Visual Studio並重新安裝它,但卸載VS [我遵循微軟的指示信],它會拒絕再次安裝[安裝程序會崩潰])出了問題。我希望他們能夠輕鬆卸載Visual Studio。

我浪費了大約3天前,我使出重新安裝Windows。我的建議是,如果你有另一臺計算機繼續做你的工作,如果發生這樣的事情發生,而不是浪費時間,就是做同樣的事情。如果你找到一種方法來解決這個問題,請讓我知道:)

3

那不是如何你應該初始化和使用食人魔。很可能缺少的初始化工作是導致崩潰的原因。

要開始使用食人魔我強烈推薦以下和the tutorials

編輯學:對食人魔 Visual Studio項目模板,可以在這裏找到:http://code.google.com/p/ogreappwizards/updates/list快速上手。

+0

我實際上已經嘗試了第一個來自wiki的教程,將其複製粘貼到一個新項目中(在下載演示文件之後),將其正確地鏈接起來,然後運行該項目。它運行,然後在我退出時給出相同的確切例外。 – Samaursa 2010-06-28 16:52:36

0

我最近的怪物設置在Visual Studio 2010和它拒絕,直到我在正確的DLL文件複製到合適的工作 - 我一直在使用一組從稍微舊版本的食人魔在Visual Studio 2008中編譯這聽起來像整個食人魔編譯或DLL可能已經通過SVN複製,這可能會導致奇怪的問題。

希望它能幫助,反正。

+0

感謝您的回答:)我結束了重新安裝Windows,我無法找到問題的根源,它成功了生產力的2天(當然,不是全部,但在卸載/修復/重新安裝帶走的時間)。如果有人遇到這個問題,使用任何SDK,請節省一些時間並重新安裝Windows。我有一個體面的設置,一切都在服務器上,所以重新安裝Windows和程序不會超過幾個小時。 – Samaursa 2010-06-29 00:15:03