9

我从某个地方抛出异常,但我从编译器得到的只是“在 mscorlib.dll 中发生'System.ArgumentOutOfRangeException' 类型的第一次机会异常”。这对我来说相当没用,因为那不是我的代码(很确定它是默认库)。我想查看堆栈跟踪或其他内容,以便我知道我的代码中哪里出了问题。这是一个相当大的代码库(其中大部分不是我的),并且有很多多线程和其他东西在进行,所以几乎不可能在不知道从哪里开始查找的情况下尝试单步执行代码。是否有一些设置可以使所有异常触发中断,以便我可以在它们发生时看到调用堆栈,而不是让它们静默失败并在输出中显示完全无用的错误消息?

4

1 回答 1

17

你有几个选择。首先,就像 Greg 说的,当发生任何异常时,您可以导致 VS 中断:

在此处输入图像描述

确保选中这些,然后单击确定:

在此处输入图像描述

这将导致 Visual Studio 在发生异常的地方中断。

另一种方法是捕获异常并仅写入堆栈跟踪,或将异常(使用 ToString())写入输出窗口:

在此处输入图像描述

然后检查你的输出窗口:

在此处输入图像描述

于 2012-05-01T01:28:33.947 回答