2012-02-10 18 views
2

私はそれを閉じ、何が起こっているのかを見るためにDebugDiagを使用したいクラッシュする.NETアプリケーションを持っているとしましょう。したがって、ダンプファイルを作成する必要があります。私の質問は、いつこのダンプファイルを作成するのですか?アプリケーションを起動するときに作成する必要がありますか?もし私がそれを言うなら、ダンプファイルがこの一時的な場所に作られたと言っています...それではアプリケーションを続けてクラッシュさせてしまいますが、私の混乱はダンプファイルを非常に早く作成しました。最後にクラッシュが発生したので、そのダンプファイルでもどのように役立つのでしょうか?そのアプリケーションを使って作業すると自動的に更新されるのは好きですか?いつデバッグのためにDUMPファイルをキャプチャする必要があります

答えて

3

クラッシュ(通常は未処理の例外)の場合、例外が2回目の例外になったときにダンプファイルを作成する必要があります。私はDebugDiagに慣れていませんが、adplus(Debugging Tools for Windows)やProcDumpのようなツールでは、このためのダンプを作成できます。

場合によっては、最初のチャンス例外(つまり、コードが例外を処理する前に)のためにダンプを作成することもできます。例えば。クラッシュを引き起こす例外が他のいくつかの例外をラップすると、その時点で十分な情報が得られない可能性があります。そのような場合、最初のチャンス例外時にダンプファイルを作成すると、元の例外の状態に関する詳細な情報が得られます。

1

プロセスがクラッシュしたときにダンプファイルを作成するようにウィンドウを構成で​​きます。この機能はデフォルトでは有効になっていません:Collecting User-Mode Dumps。このプロセスはWindows XPでは異なります:Capturing Application Crash Dumps。ダンプファイルがあれば開くことができ、WinDbgで調査できます。私は非常にブログTess Fernandezとこのbookによってお勧めします。

+0

「.NETアプリケーションを含む独自のカスタムクラッシュレポートを実行するアプリケーションは、この機能でサポートされていません」と言います。 ...そして私のアプリケーションは.NETアプリなので、これを使うことはできないのですか? – Bohn

+1

ほとんどの場合、.NETアプリケーションには通常未処理の例外ハンドラ(http://msdn.microsoft.com/en-us/library/system.appdomain.unhandledexception.aspx)があり、 .NETの世界でのネイティブダンプ – Dmitry

+0

うーん..それは奇妙だ、記事はHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ Windowsエラー報告..に行くと言う。しかし、私はパスをupto \ Windows ...だから私はレジストリにWindowsエラー報告フォルダを持っていない。私は自分で作ることができると思いますか? – Bohn

関連する問題