0

アプリケーションのクラッシュ時にワトソン博士によって作成されたバイナリ ファイル crash.dmp に含まれるコールスタックから詳細を保存しようとしています。

dmp ファイルが存在するので、(c#) で 1 つを読み取り、可能であればコールスタックを保存したいだけです。誰かがこのようなことをしたことがありますか?実際、それは可能ですか?

Visual Studio を使用して手動で crash.dmp ファイルを確認し、スタックを手動でコピーすることはできますが、このプロセスを元のプログラム内で自動化したいです。

どんな助けでも大歓迎です。

乾杯

スティーブ

4

2 に答える 2

0

(コメントのはずですが、長すぎます)

あなたもその質問をしているので、これはXY 問題であると強く感じています。おそらく、この質問で述べたようにダンプを読みたくないでしょうし、他の質問のように自分でデバッガーを書きたくないでしょう。私の推測: あなたの実際の問題は、プログラムがクラッシュし、それを回避したいということです。

最初の選択肢は、再生ボタンを押してデバッガー (Visual Studio) の下でデバッグ モードでプログラムを実行し、クラッシュが発生するまで待って、クラッシュの本当の理由を見つけることです。すべての前提条件が満たされているかどうかを確認するなど、クラッシュがまったく発生しないようにコードを変更してください。

何らかの理由で問題を解決できない場合、クラッシュを防ぐ方法があります。クラッシュは例外によって引き起こされ、例外処理を使用して処理できます。C# では次のようになります。

try
{
    // force a crash for demo purposes
    throw new InvalidOperationException();
}
catch (InvalidOperationException ex)
{
    // do something instead of crashing here
}

例外処理トピックの詳細については、「C# での例外処理」を参照するか、trycatch、または例外処理という用語をインターネットで検索してください。

于 2014-03-19T20:12:47.843 に答える
0

デバッグ診断ツールを使用して、ダンプ ファイルを読み取ることができます。

Codeprojectの記事では、その使用方法について説明しています。

于 2014-03-19T21:05:36.270 に答える