3
windbgとpsscor2.dll拡張子を使用して.NET 3.5 CLRダンプをデバッグしています。例外が起こった コードは次のようになります。windbgを使用した.NETダンプ解析
try
{
...
}
catch
{
...
}
catch
{
...
}
finally
{
...
// exception I found in the dump happened here.
...
}
は、[OK]を、!pe
コマンドを使用して、私は例外を持っているので。これはnull参照例外ですが、問題の本当の原因はtry、またはcatchのいずれかにあり、そこで発生した例外はfinallyブロックでマスクされています。アプリはストレステストでクラッシュしたので、レプロを作成するのは簡単ではないので、ダンプは私の持つすべてです。
だから、すべてのwindbg/.NET内部の教祖の質問。最終的にこのブロックの前に起こった例外をどのようにして得ることができるか考えていますか?私はスタック(有用なもの)(!dso
コマンド)が表示されず、それは多かれ少なかれ私のpsscor2の知識が終わるところです:)。
ありがとうございました。
はありません、その情報は、ビットバケツに落ちました。デバッガを接続してストレステストを実行するのは、非常に簡単な回避策です。最初の例外で停止するようにしてください。 –
残念なことに、ストレステストの実行はここでの選択肢ではありません。これは複雑なインフラストラクチャの一種であり、テストはラボで実行されます。私はレブロ以外何も持っていない。上記の例外はどこでもスタック/ヒープのどこかに残っていることを期待していました。私はまだダンプのどこかにいると思うけど、どこを見つけるのか分からない。コメントありがとう。 – Klark
まだ完了していない場合は、ダンプファイルのための!dae(DumpAllExceptions)と "!Analysis"コマンドを試してください。最後に!analyze -v。たぶんあなたは出力に何かを見ます。 –