第一次机会例外

时间:2012-12-04 16:32:26

标签: visual-studio-2010 debugging exception-handling visual-studio-debugging

这似乎与关于第一次机会异常的所有其他消息不同:)

我正在尝试追踪在串行端口入站数据处理程序中抛出的偶然异常。当它触发时,堆栈跟踪不显示我的任何代码 - 它是从System.Threading.ThreadHelper.ThreadStart()开始的标准程序集内的所有内容。因为它在我自己的任何代码之外,所以我无法处理它,直到它在向下的路上遇到CurrentDomain_UnhandledException时才知道。

我正在启动一个线程来处理传入的串行通信。由于串口是USB设备,可能会意外拔出,然后端口消失,当出现问题时我会终止线程并重新启动,枚举端口并查询它们,以便在设备恢复时重新启动设备。 / p>

在输出中,我看到几个“类型'System.Threading.ThreadAbortException的第一次机会异常”。其中一些是MS代码。我希望能够打破每一个,所以我可以确认它正在被处理,而不是被吞没到某个地方。但是,当我勾选Debug-> Exceptions菜单中的“System.Threading”抛出框时,VS永远不会中断。即使我禁用“只是我的代码”,我认为这扩大了调试器的范围。

有没有人知道我缺少的第三件事会让VS打破这些例外?

1 个答案:

答案 0 :(得分:-1)

打破第一次机会异常,你可以在visual c ++ 2010中做到这一点 转到debug->异常并在c ++异常中选中std :: exception的复选框我认为这对我有用了一段时间后