2

私はゲーム エンジン (visual c++、opengl など) を作成していますが、長い道のりを歩んできました。特にメモリの安全性とメモリ管理に取り組んできました。エンジンのすべての部分は別々のプロジェクトで作成されたので、問題がないことを確認してからエンジンに統合するまで、互いに影響を与えません。

最近、OpenAL を使用してサウンド エンジンを作成しました。そのプロジェクトを閉じると、「クリティカル ストップ」にマッピングされた Windows サウンドが聞こえます。画面にエラーは表示されず、プログラムは正常に終了したようです。

これを引き起こしている原因を見つけるには、どこ/どのように検索を開始すればよいですか? 何が原因でしょうか?

編集: デバッグ中に _tWinMain で "return 0" になることに気付きました。デバッグ ログには "exited with code 3" と表示されます。

4

1 に答える 1

0

私の精神的なデバッグ能力(および同様の経験)は、シャットダウン中(静的オブジェクトのデストラクタなど)にアサーションエラー(またはCRTデバッグダイアログボックスをポップアップしようとする他のメカニズム)があったことを教えてくれます。シャットダウンが十分に進んだため、ダイアログを作成できませんでした。ビープ音はダイアログに付随するものであり、終了コード3は、アサーションの失敗が返す可能性のある値の1つです。

デバッガーで実行すると、[出力]ウィンドウのダイアログで意図されたアサーションの失敗が表示されると思います。そうでない場合は、_CrtDebugReportを使用してCRTデバッグメッセージの宛先を微調整する必要がある場合があります。

于 2012-10-08T16:34:23.450 に答える