調試多線程應用程式

來源:互聯網
上載者:User

對於多線程應用程式的調試 ,各開發工具都有良好的支援,使用廣泛的為windows下VS及unix下的GDB。

MS對VS調試多線程程式給出了詳細的協助手冊,可以在MSDN中搜尋:SetThreadName(設定線程名稱)中找到相關頂級主題:調試多線程應用程式

MSDN中的地址:ms-help://MS.MSDNQTR.v90.chs/dv_vsdebug/html/9d175bc2-1d95-4c47-9bc3-9755af968a9c.htm

以下文字摘自MSDN:

線程是作業系統向其分配處理器時間的指令序列。在作業系統中啟動並執行每個進程都包含至少一個線程。包含多個線程的進程稱為多線程。

具有多個處理器、多核處理器或超執行緒進程的電腦可以同時運行多個線程。平行處理多個線程可以極大地提高程式效能,但是,由於需要跟蹤多個線程,也使得調試更加困難。

此外,多執行緒會引入某些新類型的潛在 bug。例如,通常會有兩個或更多線程必須訪問同一資源,但是一次只能有一個線程可以安全地訪問該資源。必須使用某種形式的互斥以確保一次僅有一個線程訪問資源。如果互斥執行不正確,則可能形成死結條件,這種條件下,任何線程都無法執行。對於調試而言,死結是特別難解決的問題。

Visual Studio 2008 提供了改進的“線程”視窗及其他使用者介面改進,旨在簡化多線程調試。若要瞭解新的線程處理介面功能,最佳方式就是執行演練。請參見演練:調試多線程應用程式。

Visual Studio 還提供功能強大的斷點和跟蹤點,在調試多線程應用程式時,它們十分有用。可以使用斷點篩選器將斷點置於單個線程上。請參見 如何:指定斷點篩選器

調試具有使用者介面的多線程應用程式可能會特別困難。在這種情況下,可以考慮在另一台機器上運行應用程式並使用遠端偵錯。有關資訊,請參見安裝遠端偵錯。

本節內容
如何:使用“線程”視窗

通過“線程”視窗調試線程的實用過程。

如何:在調試時切換到另一個線程

將調試環境切換到其他線程的三種方法。

如何:標記線程和取消標幟線程

在調試過程中,標記要格外關注的線程,或為其設定標誌。

如何:在機器碼中設定線程名稱

為在“線程”視窗中查看的線程提供一個名稱。

如何:在Managed 程式碼中設定線程名稱

為在“線程”視窗中查看的線程提供一個名稱。

演練:調試多線程應用程式.

一部關於線程調試功能的指導教程,重點介紹如何使用 Visual Studio 2008 的功能。

如何:在高效能群集上進行調試

對運行於高效能群集上的應用程式進行調試的技術。

調試機器碼中的線程時的提示

對於調試本機線程十分有用的簡單技術。

相關章節
如何:指定斷點篩選器

如果要將一個斷點置於單個線程上,可以使用斷點篩選器。

如何:指定跟蹤點/斷點操作

使用跟蹤點可以在不中斷的情況下跟蹤程式的執行。對於研究死結之類的問題,這一點十分有用。

託管線程處理

.NET Framework 編程中的線程處理概念,包括範例程式碼。

組件中的多執行緒

如何在 .NET Framework 組件中使用多執行緒。

多執行緒 (Visual Basic)

針對 Visual Basic 程式員的線程處理概念和範例程式碼。

使用線程處理(C# 編程指南)

針對 C# 程式員的線程處理概念和範例程式碼。

多執行緒

針對使用 MFC 的 C++ 程式員的線程處理概念和範例程式碼。

如何:調試遠程群集應用程式

有關如何為運行於高效能群集上的應用程式設定遠端偵錯的說明。

請參見概念

使用線程和進程

安裝遠端偵錯

 

More:http://blog.donews.com/me1105/archive/2011/02/09/113.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.