共用方式為


HOW TO:附加至執行中處理序

更新:2007 年 11 月

這個主題適用於:

版本

Visual Basic

C#

C++

Web Developer

Express 版

標題不適用於 標題不適用於 標題不適用於 標題不適用於

Standard 版

標題適用於 標題適用於

標題適用於

標題適用於

Pro/Team 版

標題適用於 標題適用於

標題適用於

標題適用於

表格圖例:

標題適用於

套用

標題不適用於

不套用

預設會套用主題但隱藏命令

預設隱藏的命令。

您可以將 Visual Studio 偵錯工具附加至任何執行中的處理序。

若要附加至執行中的處理序

  1. 在 [偵錯] 功能表中,選取 [附加至處理序] (如果沒有開啟的專案,請在 [工具] 功能表中選取 [附加至處理序])。

  2. 請在 [附加至處理序] 對話方塊的 [可使用的處理序] 清單中,尋找您要附加的程式。

    1. 如果您要偵錯的程式正執行於另一台電腦上,您必須先選取該遠端電腦 (如需詳細資訊,請參閱 HOW TO:選取遠端機器)。

    2. 如果該處理序正在不同的使用者帳戶下執行,請選取 [顯示所有使用者的處理序] 核取方塊。

    3. 如果您透過 [遠端桌面連線] 進行連接,請選取 [顯示所有工作階段中的處理序] 核取方塊。

  3. 在 [附加至] 方塊中,確定其中已列出您要偵錯的程式碼類型。預設的 [自動] 設定會自動判斷您要偵錯的程式碼類型。如果自動設定不適用:

    1. 按一下 [選取]。

    2. 在 [選取程式碼類型] 對話方塊中,按一下 [偵錯這些程式碼類型],然後選取要偵錯的類型。

    3. 按一下 [確定]。

  4. 按一下 [附加]。

    [可使用的處理序] 清單會在您開啟 [處理序] 對話方塊時自動顯示。當對話方塊開啟時,處理序可以在背景中啟動和停止。但內容不一定是最新的。您可以隨時按 [重新整理] 以重新整理該清單,查看目前的處理序清單。

    偵錯時,您可以附加至多個程式,但是無論在任何時間,偵錯工具一次只能有一個使用中程式。您可以在 [偵錯位置] 工具列或 [處理序] 視窗中設定使用中的程式。如需詳細資訊,請參閱 HOW TO:設定目前的處理序

    所有 [偵錯] 功能表的執行命令都會影響使用中的程式。您可以從 [處理序] 對話方塊中斷任何受偵錯的程式,或從 [偵錯] 功能表中斷所有附加的程式。如需詳細資訊,請參閱 HOW TO:中斷執行

    注意事項:

    若要將偵錯工具附加至以 Visual C++ 撰寫的 Managed 程式碼,該程式碼必須發出 DebuggableAttribute。您可以使用 /ASSEMBLYDEBUG 連結器選項連結,將其自動加入程式碼。

    如果您嘗試附加至未受信任的使用者帳戶所擁有的處理序,會出現安全性警告對話方塊確認訊息。如需詳細資訊,請參閱 安全性警告:附加至未受信任使用者擁有的處理序是危險的。如果下面的資訊看起來有問題,或者您並不確定,請不要附加至此處理序

    在某些情況下,在遠端桌面 (終端機服務) 工作階段中進行偵錯時,[可使用的處理序 ] 清單並不會顯示所有可使用的處理序。在 Windows Server 2003 或更新版本中,如果您是以受限制的使用者身分執行 Visual Studio,則 [可使用的處理序] 清單不會顯示在工作階段 0 中執行的處理序,因為工作階段 0 是用於服務以及其他包括 w3wp.exe 的伺服器處理序。您可藉由使用系統管理員帳戶來執行 Visual Studio,或是從伺服器主控台 (而非終端機服務工作階段) 執行 Visual Studio,來解決這個問題。如果這些解決方法都沒有效,第三個方法就是從 Windows 命令列執行 vsjitdebugger.exe -p ProcessId 以附加至處理序。您可以使用 tlist.exe 來判斷處理序 ID。若要取得 tlist.exe,請從 https://www.microsoft.com/whdc/devtools/debugging/default.mspx 下載並安裝適用於 Windows 的偵錯工具。

請參閱

工作

HOW TO:附加至 Managed 裝置處理序

概念

偵錯工具安全性

參考

安全性警告:附加至未受信任使用者擁有的處理序是危險的。如果下面的資訊看起來有問題,或者您並不確定,請不要附加至此處理序

其他資源

附加至執行中處理序