14

.Net 4.0アプリはユーザーのためにクラッシュし続けますが、彼だけのために、私はバグを再現することができませんでした。WERInternalMetadata.xml彼は、 WindowsCrashReporterによって生成されたファイルを添付しました。それを開くと、ソフトウェアがクラッシュすることがわかりましたが、System.IO.FileNotFoundExceptionそのような例外をスローする関数がその関数で呼び出されていないため、どこか別の場所またはより深い問題が発生します。

これは、ファイルの「最も興味深い」部分です。(16進数の)数字が含まれていますが、その意味がわかりませんでした。

<ProblemSignatures>
    <EventType>CLR20r3</EventType>
    <Parameter0>rstvshowtracker.exe</Parameter0>
    <Parameter1>1.0.3842.33258</Parameter1>
    <Parameter2>4c374e79</Parameter2>
    <Parameter3>mscorlib</Parameter3>
    <Parameter4>4.0.0.0</Parameter4>
    <Parameter5>4ba1da6f</Parameter5>
    <Parameter6>1620</Parameter6>
    <Parameter7>14</Parameter7>
    <Parameter8>System.IO.FileNotFoundException</Parameter8>
</ProblemSignatures>

どのコードが例外を引き起こしているのかを知る方法、または少なくとも?よりも詳細を見つける方法はありFileNotFoundExceptionますか?

4

1 に答える 1

18

まず、WER トレースの内容は次のとおりです。

<Parameter0>rstvshowtracker.exe</Parameter0> - your exe
<Parameter1>1.0.3842.33258</Parameter1> - version of your exe
<Parameter2>4c374e79</Parameter2> - exe timestamp
<Parameter3>mscorlib</Parameter3> - assembly / module
<Parameter4>4.0.0.0</Parameter4> - assembly version
<Parameter5>4ba1da6f</Parameter5> - assm timestamp
<Parameter6>1620</Parameter6> - methodDef token of faulting method 
<Parameter7>14</Parameter7> - IL offset of faulting instruction
<Parameter8>System.IO.FileNotFoundException</Parameter8> - exception

WinDBG と SOS を使用して、そのメソッドが何であるかを調べることができます (例: 1620)。方法については、こちらの例を参照してください: http://blogs.msdn.com/b/oanapl/archive/2009/01/30/windows-error-reporting-wer-and-clr-integration.aspx

...別の方法として、アプリケーションで unhandledException イベントをフックし、例外スタック トレースをログ ファイルに出力して、問題の原因を確認することもできます。例えば

static void MyHandler(object sender, UnhandledExceptionEventArgs args) 
{
   Exception e = (Exception) args.ExceptionObject;
   // print out the exception stack trace to a log
}

public static void Main() 
{
   AppDomain currentDomain = AppDomain.CurrentDomain;
   currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
}
于 2010-07-10T16:48:09.027 に答える