最初のチャンスの例外を生成するコードは次のとおりです。
class MyClass
{
public string SomeField { get; set; }
}
class Program
{
static void Main(string[] args)
{
try
{
Print(null);
}
catch { }
}
static void Print(MyClass myclass)
{
Console.WriteLine(myclass.SomeField);
}
}
次のように ProcDump をセットアップして、クラッシュ ダンプをキャプチャします。
ProcDump -ma MyApplication.exe
私の理解では、このコマンドは最初のチャンスと 2 番目の変更例外の両方をキャプチャする必要があります。ただし、上記のコードでは例外は発生しません。コードから catch ブロックを削除すると、ダンプ ファイルが取得されますが、2 回目の例外になるはずです。最初のチャンスでクラッシュダンプが得られない理由はありますか?