3

可能这是正常情况,但我很困惑。

我正在从 Visual Studio 运行我的 C# 调试应用程序。DebugDiag 设置为自动附加到进程。

我有一条规则可以从此应用程序收集故障转储,并且该规则定义未配置的第一次机会异常的操作应为“无”。

但是当应用程序崩溃时,当我查看转储文件时,它说存在第一次机会异常。

这个 SO question的答案中,我了解到“异常首先被抛出给调试器,然后被抛出到实际程序,如果它没有被处理,它会再次被抛出给调试器”

那么为什么 DebugDiag 会为第一次机会异常收集转储文件呢?

编辑为了清楚起见,我不想在这里修复损坏的代码。我试图理解为什么 DebugDiag 告诉我第一次机会异常导致我的代码崩溃。当然,根据定义,只有第二次机会异常会导致代码崩溃,即代码未处理的异常?

“崩溃”意味着进程终止并且 DebugDiag 生成崩溃转储文件。我在“Start without Debugging”上运行代码的调试版本

4

0 回答 0