共用方式為


偵錯多執行緒應用程式

執行緒是作業系統配置處理器時間的指令序列。在作業系統中執行的每個處理序都包含至少一個執行緒。具有一個以上執行緒的處理序就稱為多執行緒。

具有多個處理器、多重核心處理器或超執行緒處理器的電腦,可以同時執行多個執行緒。多個執行緒的平行處理可以大幅改進程式效能,但由於帶來了追蹤多個執行緒的需要,也可能會增加偵錯的困難度。

除此之外,多執行緒也帶來一些新類型的潛在錯誤。舉例來說,常常有兩個以上的執行緒必須存取相同資源,但同時間只有一個執行緒能夠安全存取該資源。所以某些形式的互斥是必要的,才能確保同時間只有一個執行緒在存取該資源。如果執行互斥的方式不正確,就可能產生「死結」(Deadlock) 的情況,造成沒有執行緒能夠執行。在偵錯時死結可能會是個特別難處理的問題。

Visual Studio 2012提供更強執行緒視窗、 新的 [GPU 執行緒]視窗、 新的平行監看式視窗及其他的使用者介面改良,簡化多執行緒偵錯。若要深入了解新執行緒介面功能,最好是進行逐步解說。請參閱逐步解說:偵錯多執行緒應用程式逐步解說:偵錯 C++ AMP 應用程式

Visual Studio也提供強大的中斷點和追蹤點,可能會非常有用的時機您偵錯多執行緒應用程式。您可以使用中斷點篩選條件,將中斷點放置在個別執行緒上。請參閱 HOW TO:指定中斷點篩選條件

偵錯具有使用者介面的多執行緒應用程式可能會特別地困難。在這種情況下,您可以考慮在第二部電腦上執行該應用程式,並使用遠端偵錯。如需詳細資訊,請參閱 遠端偵錯安裝

在本節中

相關章節

請參閱

其他資源

使用執行緒和處理序

遠端偵錯安裝