2

プログラムを終了すると、奇妙な例外が発生します。これは今日の朝から始まり、髪を抜く準備ができています。プログラムを終了するとすぐに、Visual Studio で例外が発生し、ファイル crt0dat.c の 731 行目で停止します (添付のスクリーンショットを参照)。

私はこれが続くことはほとんどないことを知っています。私はいくつかの異なることを試しました:

  1. つまり、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 のインストールを完全に破棄する確実な方法を知っている人はいますか?)。ウィンドウを再インストールするのが足りないので、アイデアが不足しています。ここの誰かが助けてくれることを願っています。

コールスタック:

  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()  

クラッシュ スクリーン キャプチャ:
リンク テキスト

4

3 に答える 3

3

これは、Ogreを初期化して使用する方法ではありません。ほとんどの場合、初期化作業の欠落がクラッシュの原因です。

鬼を始めるために、私はチュートリアルに従って、学ぶことを強くお勧めします

編集: ogreのビジュアルスタジオプロジェクトテンプレートはここにあります:http ://code.google.com/p/ogreappwizards/updates/listすぐに開始できます。

于 2010-06-28T16:18:13.650 に答える
2

この問題について皆さんの助けに感謝します。Windowsを再インストールすることになりました(Visual Studioをアンインストールして再インストールしようとしましたが、VSのアンインストール中に問題が発生し[Microsoftの指示に従いました]、再インストールを拒否しました[セットアップがクラッシュします])。VisualStudioのアンインストールが簡単にできるようになることを願っています。

Windowsの再インストールに頼る前に、私は約3日を無駄にしました。私のアドバイスは、あなたが仕事を続けるために別のコンピューターを持っているなら、このようなことが起こった場合、何日も無駄にするのではなく、同じことをすることです。問題を解決する方法を見つけたら、私に知らせてください:)

于 2010-07-16T19:04:47.903 に答える
0

最近、Visual Studio 2010 で ogre をセットアップしましたが、適切な DLL をコピーするまで正しく動作しませんでした。Visual Studio 2008 で少し古いバージョンの ogre からコンパイルされたセットを使用していました。全体の ogre コンパイルまたはDLL が SVN 経由でコピーされた可能性があり、奇妙な問題が発生する可能性があります。

とにかく、それが役立つことを願っています。

于 2010-06-28T18:37:59.853 に答える