一部のPCで実行されている.NET2.0アプリケーション(グローバリゼーション:Eng /ドイツ語)があります。
過去数日間、アプリケーションは未処理の例外をスローし、アプリケーションはクラッシュします。デバッグするソースコードがありません。アプリケーションログとイベントビューアは役に立ちません。例外は多くを語っていません。
ソースコードなしでデバッグして例外の原因を見つける方法はありますか?
前もって感謝します
Karthik
一部のPCで実行されている.NET2.0アプリケーション(グローバリゼーション:Eng /ドイツ語)があります。
過去数日間、アプリケーションは未処理の例外をスローし、アプリケーションはクラッシュします。デバッグするソースコードがありません。アプリケーションログとイベントビューアは役に立ちません。例外は多くを語っていません。
ソースコードなしでデバッグして例外の原因を見つける方法はありますか?
前もって感謝します
Karthik
http://www.reflector.net/のような .NET 逆コンパイラを使用するか、 http: //digitalbodyguard.com/ から素晴らしいグレイウルフを使用してソースを取得してみてください(グレイウルフはライセンスによって非営利目的での使用に制限されているため、あなたのためのオプションになります)
http://wiki.sharpdevelop.net/ILSpy.ashxを使用してコードを逆コンパイルし、コードを取得できます。しかし実際には、アプリケーションに適切なエラー ログが必要です。有効な場所での内部例外の詳細も記載されているため、何が失敗しているのかをよりよく理解できます。
Mdbgまたは Windbg を使用してプロセスをデバッグできます。詳細情報を取得するには、PDB ファイルを使用する必要があります。それは有用があるような状況です。
他の回答に示されているように、ソースコードを見つけることができます。ILSpy と Reflector は、デバッグと逆コンパイルを同時に実行できることに注意してください ...
メモリダンプから始めます。ProcessExplorerは、プロセスのメモリ ダンプを取得できます。
WinDbg を使用して、クラッシュ ダンプを処理したり、プロセスがクラッシュしたときにプロセスにアタッチしたりできます。マネージ コードには、効果的にデバッグできる十分な型情報があります。
WinDbg.exe -I
システムにクラッシュ ハンドラとして登録します。WinDbg がアタッチされると、次のコマンドが役立ちます。
.loadby sos clr
CLR デバッグ拡張機能をロードするには!pe
例外の詳細をダンプします。~#s
例外のあるスレッドに切り替える!clrstack
スレッドのスタックをダンプする