共用方式為


在 Visual Studio 中遠端偵錯 C# 或 Visual Basic 專案

若要偵錯已部署在不同電腦上的 Visual Studio 應用程式,請在您部署應用程式的電腦上安裝並執行遠端工具,將專案設定為從 Visual Studio 連線到遠端電腦,然後執行您的應用程式。

遠端偵錯工具元件的螢幕擷取畫面。

如需遠端偵錯通用 Windows 應用程式 (UWP) 的相關資訊,請參閱 偵錯已安裝的應用程式套件

需求

Windows 7 及更新版本,以及從 Windows Server 2008 Service Pack 2 開始的 Windows Server 版本均支援遠端偵錯工具。 如需需求的完整清單,請參閱 需求

備註

不支援在透過 Proxy 連線的兩部電腦之間進行偵錯。 不建議透過高延遲或低頻寬連線 (例如撥號因特網) 或跨國家/地區的因特網進行偵錯,而且可能會失敗或速度慢得無法接受。

下載並安裝遠端工具

在您要偵錯的遠端裝置或伺服器上,而不是 Visual Studio 機器上,從下表中的連結下載並安裝正確版本的遠端工具。

  • 下載適用於您 Visual Studio 版本的遠端工具的最新更新。 Visual Studio 2022 和 2026 的遠端工具可與任一版本的 Visual Studio 搭配使用。 不過,早於 Visual Studio 2022 的遠端工具版本與更新的 Visual Studio 版本不相容。 (例如,如果您使用 Visual Studio 2019,請下載 Visual Studio 2019 遠端工具的最新更新。在此案例中,請勿下載 Visual Studio 2022 的遠端工具。
  • 下載適用於您 Visual Studio 版本的遠端工具的最新更新。 舊版遠端工具與較新的 Visual Studio 版本不相容。 (例如,如果您使用 Visual Studio 2019,請下載 Visual Studio 2019 遠端工具的最新更新。在此案例中,請勿下載 Visual Studio 2022 的遠端工具。
  • 下載與您要安裝它們的機器具有相同架構的遠端工具。 例如,如果您想要在執行 x64 作業系統的遠端電腦上偵錯 x86 應用程式,請安裝 x64 遠端工具。 若要在 ARM64 作業系統上偵錯 x86、ARM 或 x64 應用程式,請安裝 ARM64 遠端工具。
版本 Link 註釋
Visual Studio 2022 遠端工具 與所有 Visual Studio 2022 版本相容。 下載符合您裝置作業系統的版本(x86、x64 (AMD64) 或 ARM64)。 在舊版 Windows Server 上,請參閱 解除封鎖檔案下載 ,以取得下載遠端工具的說明。
Visual Studio 2019 遠端工具 Visual Studio 2019 的遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 計劃,或使用您的 Visual Studio 訂用帳戶識別碼登入。 下載符合您裝置作業系統的版本(x86、x64 (AMD64) 或 ARM64)。 在舊版 Windows Server 上,請參閱 解除封鎖檔案下載 ,以取得下載遠端工具的說明。
Visual Studio 2017 遠端工具 Visual Studio 2017 的遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 計劃,或使用您的 Visual Studio 訂用帳戶識別碼登入。 下載符合您裝置作業系統的版本(x86、x64 (AMD64) 或 ARM64)。 在 Windows Server 上,請參閱 解除封鎖檔案下載 ,以取得下載遠端工具的說明。
Visual Studio 2015 遠端工具 Visual Studio 2015 的遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 計劃,或使用您的 Visual Studio 訂用帳戶識別碼登入。 在 Windows Server 上,請參閱 解除封鎖檔案下載 ,以取得下載遠端工具的說明。
Visual Studio 2013 遠端工具 Visual Studio 2013 檔中的下載頁面
Visual Studio 2012 遠端工具 Visual Studio 2012 檔中的下載頁面
版本 Link 註釋
Visual Studio 2019 遠端工具 與所有 Visual Studio 2019 版本相容。 下載符合您裝置作業系統的版本(x86、x64 (AMD64) 或 ARM64)。 在 Windows Server 上,請參閱 解除封鎖檔案下載 ,以取得下載遠端工具的說明。 如需最新版本的遠端工具,請開啟 Visual Studio 2022 文件
Visual Studio 2017 遠端工具 與所有 Visual Studio 2017 版本相容。 下載符合您裝置作業系統的版本(x86、x64 (AMD64) 或 ARM64)。 在 Windows Server 上,請參閱 解除封鎖檔案下載 ,以取得下載遠端工具的說明。
Visual Studio 2015 遠端工具 Visual Studio 2015 的遠端工具可從 My.VisualStudio.com 取得。 如果出現提示,請加入免費的 Visual Studio Dev Essentials 計劃,或使用您的 Visual Studio 訂用帳戶識別碼登入。 在 Windows Server 上,請參閱 解除封鎖檔案下載 ,以取得下載遠端工具的說明。
Visual Studio 2013 遠端工具 Visual Studio 2013 檔中的下載頁面
Visual Studio 2012 遠端工具 Visual Studio 2012 檔中的下載頁面

您可以將 msvsmon.exe 複製到遠端電腦來執行遠端偵錯,而不是安裝遠端工具。 不過,只有在您安裝遠端工具時,才能使用遠端偵錯工具組態精靈 (rdbgwiz.exe)。 如果您想要將遠端偵錯工具作為服務執行,您可能需要使用精靈進行設定。 如需詳細資訊,請參閱 (選擇性) 將遠端偵錯工具設定為服務

備註

  • 若要在 ARM 裝置上偵錯 Windows 10 或更新版本的應用程式,請使用 ARM64,這是最新版本的遠端工具所提供的。
  • 若要在 Windows RT 裝置上偵錯 Windows 10 應用程式,請使用 ARM,這僅適用於 Visual Studio 2015 遠端工具下載。
  • 若要在 ARM64 作業系統上偵錯 x64 應用程式,請執行隨 ARM64 遠端工具一起安裝的 x64 msvsmon.exe。

小提示

在某些情況下,從檔案共用執行遠端偵錯工具可能是最有效率的。 如需詳細資訊,請參閱 從檔案共用執行遠端偵錯工具

設定遠端偵錯工具

安裝遠端偵錯工具之後,請遵循下列步驟。

  1. 在遠端電腦上,從 [開始] 功能表尋找並啟動遠端偵錯工具

    如果您沒有遠端電腦的系統管理許可權,請以滑鼠右鍵按一下 [遠端偵錯工具 ] 應用程式,然後選取 [以系統管理員身分執行]。 否則,正常啟動即可。

    如果您打算附加至以系統管理員身分執行的進程,或以不同的使用者帳戶 (例如 IIS) 執行的進程,請以滑鼠右鍵按一下 [遠端偵錯工具 ] 應用程式,然後選取 [以系統管理員身分執行]。 如需詳細資訊,請參閱 以系統管理員身分執行遠端偵錯工具

  2. 第一次啟動遠端偵錯工具時 (或在設定之前) ,會出現 [ 遠端偵錯設定] 精靈。

    在大部分案例中,請選擇 [下一步 ],直到您進入精靈的 [設定 Windows 防火牆 ] 頁面為止。

    遠端偵錯工具設定的螢幕擷取畫面。

    遠端偵錯工具設定的螢幕擷取畫面。

    如果未安裝 Windows Web 服務 API,這只會在 Windows Server 2008 R2 上發生,請選取 [安裝] 按鈕。

  3. 選取至少一種您要使用遠端工具的網路類型。 如果電腦是透過網域連線,您必須選擇第一個項目。 如果電腦是透過工作群組或家庭群組連線的,請視需要選擇第二個或第三個項目。

    接下來,選取 [ 完成 ] 以啟動遠端偵錯工具。

    接下來,選取 [設定遠端偵錯] 以啟動遠端偵錯工具。

  4. 設定完成後,會出現 [ 遠端偵錯工具 ] 視窗。

    遠端偵錯工具視窗的螢幕擷取畫面

    遠端偵錯工具視窗的螢幕擷取畫面

    遠端偵錯工具現在正在等候連線。 使用顯示的伺服器名稱和埠號,在 Visual Studio 中設定遠端連線設定。

若要停止遠端偵錯工具,請選取 [檔案>結束]。 您可以從 [ 開始] 功能表或命令列重新啟動它:

<Remote debugger installation directory>\msvsmon.exe

備註

如果您需要新增其他使用者的許可權、變更遠端偵錯工具的驗證模式或埠號碼,請參閱 設定遠端偵錯工具

遠端偵錯專案

偵錯工具無法將 Visual C# 或 Visual Basic 傳統型應用程式部署至遠端電腦,但您仍然可以遠端偵錯它們,如下所示。 下列程式假設您想要在名為 MJO-DL 的電腦上偵錯它,如下圖所示。

  1. 建立名為 MyWpf 的 WPF 專案。

    如果您嘗試遠端偵錯 MAUI 應用程式,而不是 WPF,請參閱 在 Windows 上遠端偵錯 .NET MAUI 應用程式

  2. 在程式碼中容易到達的某個位置設定中斷點。

    例如,您可以在按鈕處理常式中設定中斷點。 若要這樣做,請開啟 MainWindow.xaml,然後從 [工具箱] 新增 Button 控制項,然後按兩下按鈕以開啟其處理常式。

  3. 在 [方案總管] 中,以滑鼠右鍵按一下專案,然後選擇 [屬性]。

  4. [屬性] 頁面上,選擇 [偵錯] 索引標籤。

    針對以 .NET Core 或 .NET 5+ 為目標的 C# 專案,從 Visual Studio 2022 開始,從 [偵錯] 索引標籤選擇 [偵錯啟動設定檔 UI],以設定遠端偵錯的設定。

    C# 和 .NET 的 Visual Studio 專案屬性中偵錯啟動設定檔 UI 的螢幕擷取畫面。

    否則,針對 .NET Framework,您可以直接在 [偵錯] 索引標籤中變更遠端偵錯設定。

    Visual Studio 專案屬性中 [偵錯] 索引標籤的螢幕擷取畫面。使用遠端機器屬性設定為 'MJO-DL:4026'。

    Visual Studio 專案屬性中 [偵錯] 索引標籤的螢幕擷取畫面。使用遠端機器屬性設定為「MJO-DL:4022」。

  5. 請確定 [工作目錄 ] 文字方塊是空的。

  6. 選擇 [ 使用遠端機器],然後在文字方塊中輸入 yourmachinename:port 。 埠號會顯示在遠端偵錯工具視窗中。

    在此範例中,請使用:

    MJO-DL:4026 在 Visual Studio 2022 上

    Visual Studio 2019 中的 MJO-DL:4024

    連接埠號碼會在每個 Visual Studio 版本中遞增 2。

  7. 請確定未選取 [啟用原生程式碼偵錯]。

  8. 建置專案。

  9. 在遠端電腦上建立與 Visual Studio 電腦上的 Debug 資料夾路徑相同的資料夾: <來源路徑>\MyWPF\MyWPF\bin\Debug

  10. 將您剛從 Visual Studio 電腦建置的可執行檔複製到遠端電腦上新建立的資料夾。

    謹慎

    請勿變更程式碼或重建 (或您必須重複此步驟)。 您複製到遠端電腦的可執行檔必須完全符合您的本機來源和符號。

    您可以手動複製專案,也可以使用 XCopy、Robocopy、PowerShell 或其他選項。

  11. 請確定遠端偵錯工具正在目標電腦上執行 (如果沒有,請在 [開始] 功能表中搜尋 [遠端偵錯工具])。 遠端偵錯工具視窗如下所示。

    VS 2022 的遠端偵錯工具視窗螢幕擷取畫面。

    VS 2019 的遠端偵錯工具視窗螢幕擷取畫面。

  12. 在 Visual Studio 中,開始偵錯(偵錯 > 開始偵錯,或 F5)。

  13. 如果出現提示,請輸入網路認證以連線到遠端電腦。

    所需的認證會因網路的安全設定而異。 例如,在網域電腦上,您可以輸入網域名稱和密碼。 在非網域電腦上,您可以輸入電腦名稱和有效的使用者帳戶名稱 (例如 MJO-DL\name@something.com),以及正確的密碼。

    您應該會看到 WPF 應用程式的主視窗已在遠端電腦上開啟。

  14. 如有必要,請執行動作以達到停止點。 您應該會看到岔斷點處於作用中狀態。 如果不是,則應用程式的符號尚未載入。 重試,如果無法正常運作,請在 瞭解符號檔和 Visual Studio 的符號設定中取得載入符號的相關資訊,以及如何針對它們進行疑難排解。

  15. 在 Visual Studio 計算機上,您應該會看到執行已在中斷點停止。

    如果您有任何需要應用程式使用的非程式碼檔案,則需要將它們包含在 Visual Studio 專案中。 建立其他檔案的專案資料夾 (在 [方案總管] 中,按一下 [新增 > 資料夾])。 然後將檔案新增至資料夾 (在 [方案總管] 中,按一下 [新增 > 現有的專案],然後選取檔案)。 在每個檔案的 [屬性] 頁面上,將 [複製到輸出目錄] 設定為 [一律複製]。

在 Windows 上遠端偵錯 .NET MAUI 應用程式

.NET MAUI 應用程式是部署時需要註冊的封裝應用程式,而不只是複製到遠端計算機。 若要遠端偵錯,您可以部署應用程式的未封裝版本。

使用下列其中一種方法進行遠端偵錯:

  • 使用 使用 CLI 發佈適用於 Windows 的未封裝 .NET MAUI 應用程式中所述的步驟,將應用程式發佈至遠端裝置作為未封裝的應用程式,然後遵循本文中的步驟進行遠端偵錯。 (略過複製應用程式的步驟。

  • 請遵循本文中的步驟,包括為專案建立偵錯啟動設定檔的步驟。 在開始偵錯之前,請手動編輯 launchSettings.json 檔案,將 commandNameProject 值取代為 MsixPackage,如下所示。

    "Remote Profile": {
      "commandName": "MsixPackage",
      "remoteDebugEnabled": true,
      "remoteDebugMachine": "170.200.20.22",
      "authenticationMode": "None"
    }
    

    當您開始偵錯時,這個方法會先部署應用程式的未封裝版本並啟動它。

    備註

    一旦將值變更為 ,就無法在 [偵錯啟動設定檔] 對話方塊中編輯 MsixPackage

使用遠端符號來設定偵錯

您應該能夠使用您在 Visual Studio 電腦上產生的符號來偵錯程式碼。 當您使用本機符號時,遠端偵錯工具的效能會好得多。 如果您必須使用遠端符號,則需要告知遠端偵錯監視器在遠端電腦上尋找符號。

您可以使用下列 msvsmon 命令列參數,將遠端符號用於受控程式碼: Msvsmon /FallbackLoadRemoteManagedPdbs

如需詳細資訊,請參閱遠端偵錯說明 (在遠端偵錯工具視窗中按 F1 ,或按一下 [說明 > 使用方式])。