2012-12-03 48 views
2

我有一個多線程程序,並且在其中設置了多個斷點。通常,當程序遇到斷點時,我看到一行代碼以綠色突出顯示,表示當程序從當前函數返回時,它是要執行的下一行代碼。但是,已經命中的斷點實際上在另一個線程中,在另一個源文件中。這條線沒有用黃色(或其他任何東西)突出顯示,儘管它是實際導致中斷的線程。VS 2012打破了錯誤線程

我迄今發現的解決問題的唯一方法是停止程序執行,清理解決方案並重建整個解決方案。這約有70%的效果,但我經常需要做幾次。

可能相關的其他信息:該程序是用C#編寫的,而且有問題的代碼是由MVC網站調用的WCF服務。所有這些都在本地機器上的IIS7下運行。

+1

你知道,當執行暫停時,你可以選擇你看到的堆棧跟蹤/源代碼突出顯示/所有其他信息的線程。如果它不交換到達到斷點的線程,但它不像你需要重建/重新部署來查看它,只需打開「線程」選項卡並將其選中即可。 – Servy

+0

實際上,中斷的線程並未顯示在「線程」窗口中。 – user1873681

回答

0

您可以在調試中從一個線程轉到另一個線程。

調試\的Windows \主題[CTRL-ALT-H]

您將有螺紋的列表。

要小心,在代碼中進入時,您可能會在線程之間進行切換。最好的選擇是凍結其他線程。