共用方式為


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

這個主題適用於:

版本

Visual Basic

C#

F#

C++

Web Developer

Express

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

Pro、Premium 和 Ultimate

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

標題適用於

標題適用於

您可以將 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 <處理序 ID> 以附加至處理序。 您可以使用 tlist.exe 來判斷處理序 ID。 若要取得 tlist.exe,您可以從 https://go.microsoft.com/fwlink/?LinkId=168279 (英文) 下載並安裝 Debugging Tools for Windows。

請參閱

參考

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

概念

偵錯工具安全性

其他資源

附加至執行中處理序