为什么我没有获得第一次机会异常的转储文件

时间:2014-08-22 14:52:02

标签: .net c#-4.0 first-chance-exception procdump

以下是应该产生第一次机会异常的代码。

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

据我了解,此命令应捕获第一次机会和第二次更改异常。但是上面的代码我没有任何异常。如果从我的代码中删除catch块,那么我确实得到一个转储文件,但应该是第二次机会异常。任何想法为什么我没有得到任何崩溃转储第一次机会?

1 个答案:

答案 0 :(得分:2)

你没有正确使用它,告诉你并不害羞。将您的代码更改为:

static void Main(string[] args) {
    Console.WriteLine("Okay, start ProcDump now and press Enter");
    Console.ReadLine();
    try {
        Print(null);
    }
    catch { }
}

将DebugDiag视为替代方案。