5

我對多線程環境相當陌生,而且在調試使用System.Timers.timer類中的已過時事件創建的線程池的應用程序時遇到問題。我在每次被已逝的事件調用的方法中設置了一個斷點,但Visual Studio在代碼行之間跳轉,因爲它指示了其他線程的操作。如何在Visual Studio中調試線程池?

如何通過一個方法進行調試,從一個特定的線程開始到結束沒有Visual Studio提醒我其他線程? Visual Studio可以停止所有線程並讓我從選定的線程進行調試嗎?

回答

1

可以在調試時暫停其他線程,只讓您關心的線程運行。

  • 打開線程窗口在Visual Studio(調試 - >視窗 - >線程)
  • 右鍵點擊你不想跑,並選擇任何線程「凍結」
  • 繼續調試。

當您完成調試您的特定線程時,不要忘記解凍線程。

+0

但仍然難以調試,因爲事件不斷產生新的線程,我將不得不凍結,因爲他們一起來 。但是我意識到我當前的實現是錯誤的,因爲如果計算時間長於定時器的設置時間間隔,多個線程可以訪問相同的方法(相同的成員)。我現在使用「鎖定」,通過調試節省了很多壓力。 – steeppham 2010-09-10 07:37:07