0

質問:デバッグ出力を自動的にファイルに書き込むように VS2010 をセットアップできますか?

動機:デバッグしようとしている DirectX 9 アプリケーションがあります。アプリケーションが全画面表示の場合、特定の条件下でクラッシュする可能性があることに気付きました。通常、ログまたは DirectX デバッグ出力を確認するだけです。ただし、プログラムがクラッシュする方法がそれを防ぎます。フリーズし、終了しようとしても応答しません (タスク マネージャーからの「プロセスの終了」を含む)。さらに、VS2010 もフリーズするため、VS はコマンドに応答しません。私が見つけたこの全体から抜け出す唯一の方法は、VSプロセスを終了することです。ただし、これは、私が非常に読みたい出力も破壊します。

今、私はこれから2つの方法を見ています。まず、すべてのデバッグ情報をファイルに書き込むことですが、その方法がわかりません。2 つ目は、アプリケーションをよりフレンドリーな方法でクラッシュさせることですが、これは難しい作業のようです。

4

1 に答える 1

0

おそらくMiniDumpWriteMiniDump(..)がこれに役立ちます。プロセスの現在の状態をいつでもファイルにダンプできます。その後、Visual Studio でダンプを開き、プロセスの状態を分析できます。これには、すべてのスレッドのコールスタック、変数値が含まれます...

プロセスがクラッシュする状況を特定し、1 つ以上のダンプを書き出すようにしてください。

もう 1 つの試みは、Windows デバッグ ツールをインストールし、 WinDbg を使用してアプリケーションをデバッグすることです。これは Visual Studio ほど快適ではありませんが、より深い洞察が可能になります。

編集: OutputDebugString(..)で 作成されたデバッグ ステートメントがある場合は、 DebugView (Microsoft の以前の Sysinternals) を使用して表示できます。

于 2013-01-20T18:47:45.737 に答える