如何调试其他线程上的异常?

Posted

技术标签:

【中文标题】如何调试其他线程上的异常?【英文标题】:How to debug exception on other thread? 【发布时间】:2011-06-04 12:38:46 【问题描述】:

我有很多短暂的线程通过从套接字连接触发的事件来更新我的程序。我的问题是我不知道如何调试它,例如如何获取有关异常发生在代码中何处的正确信息。因为我得到了一个像下面这样的异常,这只是立即窗口中的打印。没有弹出窗口,它不会突出显示代码中的任何行,甚至不会显示它所在的方法。

我错过了什么?我能做些什么才能看到这些东西? VS2010 对这种情况做了哪些改进,如果有的话?

A first chance exception of type 'System.InvalidOperationException' occurred in System.Core.dll
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in mscorlib.dll
A first chance exception of type 'System.Threading.ThreadAbortException' occurred in Krs.Ats.IBNet.dll

【问题讨论】:

【参考方案1】:

转到“调试 -> 异常...”,找到“公共语言运行时异常”并检查“抛出”标记。现在开始调试您的应用程序。一旦发生任何 CLR 异常,执行将在该行停止。

【讨论】:

解决的也完全不同:直到现在调试器在每次运行后都冻结。一旦我更改了@volpav 答案中的调试选项,IDE 将在代码执行后立即返回!

以上是关于如何调试其他线程上的异常?的主要内容,如果未能解决你的问题,请参考以下文章

GDB 多线程调试:只停止断点的线程,其他线程任然执行; 或只运行某些线程 其他线程中断

gdb多线程调试

异常帧与返回堆栈上的其他数据有何区别?

Android:致命异常:java.lang.OutOfMemoryError

在发布(dexguard)上构建但在调试中没有出现致命异常

Play 1.2.5.4 上的 LocalvariablesNamesEnhancer 异常 - 我该如何调试(或解决它)?