アプリケーションがクラッシュした場合は、すべてのクラッシュのアプリケーションのためのクラッシュダンプを作成するには、このレジストリ設定を有効にします。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
"DumpFolder"="C:\\TEMP"
"DumpCount"=dword:00000010
"DumpType"=dword:00000002
それはあなたのCにクラッシュダンプが作成されます:\ Tempフォルダを。このダンプファイルをVisual Studioの新しいバージョンで開くと、クラッシュした正確なコードが表示されます(デバッグの場所と未処理の例外がある場合のように)。
また、すべてのダンプ解析ニーズに対応する非常に便利なMSツール:デバッグ診断ツール(https://www.microsoft.com/en-us/download/details.aspx?id=49924)。ビデオウォークスルー:https://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-123-DebugDiag-Part-3
これはクラッシュしたアプリケーションを分析し、すべてのスレッドとそれらの管理対象および非管理対象のスタックトレースを表示します。 クラッシュの問題とその発生場所を正確に指摘して、スタックトレースをチェックすることができます。
ただし、プログラムがクラッシュしなかった場合は、タスクマネージャを開いてプロセスを右クリックしてダンプファイルを手動で作成できます。クラッシュ解析でこのダンプファイルをDebug Diagnostics(デバッグ診断)で送信すると、アプリケーションでスタックトレースが発生した最後のX例外が表示されます。私はこのメソッドを使用して、ユーザーが素早く簡単なエラーメッセージを受け取ったときに、ユーザーアプリケーションの実際のエラーを見つけます。 taskmanagerからダンプを作成する代わりに、procdump.exeまたはDebug Diagnosticsを使用して、ダンプファイルを作成するタイミングに関するルールを作成することもできます。
DUMPファイルとデバッグ診断プログラムの組み合わせがどれほど簡単で、実稼働環境で発生したエラーを見つけることができるのか、もっと多くの人が気づくはずです。
ロギングロギングロギング。 –
IIS拡張ログ、db-callロギング、eventviewers ..作品 - ちょうどどこを正確に見えるように見えることはできません。 – riffnl