1

這似乎從約第一次機會異常:)第一次機會異常

我試圖追查是獲取串行端口接收數據處理程序拋出一個偶然的例外中的所有其他消息不同。當它觸發時,堆棧跟蹤不會顯示我的任何代碼 - 它是以System.Threading.ThreadHelper.ThreadStart()開始的標準程序集內的所有東西。由於它不在我自己的任何代碼之內,因此我無法處理它,直到在下降路徑中遇到CurrentDomain_UnhandledException時才知道。

我開始處理傳入串行通信的線程。由於串口是一個USB設備,可能會意外拔出插口,然後端口就會消失,當出現問題時,我終止線程並重新開始,枚舉端口並查詢它們在設備重新啓動時再次選擇設備。

在輸出中,我看到幾個「類型'System.Threading.ThreadAbortException」的第一個機會異常。其中一些是MS代碼。我希望能夠在每一箇中斷,所以我可以確認它正在處理,而不是在某個地方被吞噬。但是,當我在Debug-> Exceptions菜單中勾選「System.Threading」拋出框時,VS永遠不會中斷。即使當我禁用「只是我的代碼」,我認爲這擴大了調試器的範圍。

有沒有人知道我錯過的第三件事會讓VS打破這些例外?

回答

-1

突破在第一次偶然發生的異常,你可以在Visual C++ 2010 去調試 - >異常和C++異常選中複選框的std ::例外,我想這個工作對我來說是一段時間回來

做到這一點
相關問題