對 Visual Studio 中的 C++ 專案進行遠端偵錯

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

Remote debugger components

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

需求

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

注意

不支援在透過 Proxy 連線的兩部電腦之間進行偵錯。 不建議透過高延遲或低頻寬的連線進行偵錯 (例如撥接網際網路),或透過網際網路跨國家/地區進行偵錯,因為可能會發生失敗或極為緩慢。

下載及安裝遠端工具

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

  • 下載您 Visual Studio 版本適用的最新遠端工具。 最新的遠端工具版本可與舊版 Visual Studio 相容,但舊版遠端工具無法與較新的 Visual Studio 版本相容。 (例如,如果您使用 Visual Studio 2019,請下載 Visual Studio 2019 的遠端工具最新更新。在此情況下,請勿下載 Visual Studio 2022 的遠端工具。)
  • 下載遠端工具時,其結構須與您安裝工具所在的電腦相同。 例如,如果您要在執行 64 位元作業系統的遠端電腦上偵錯 32 位元應用程式,對 x86 應用程式進行偵錯,請安裝 64 位元遠端工具。
  • 如果您是在 ARM64 裝置上遠端偵錯 ARM64EC 應用程式,請安裝 ARM64 遠端工具,然後啟動隨這些工具一起安裝的 x64 遠端偵錯工具。 您可以在下列位置找到:Program Files (x86)\Microsoft Visual Studio<version>\Common7\IDE\Remote Debugger\x64
版本 連結 備註
Visual Studio 2022 遠端工具 與所有 Visual Studio 2022 版本相容。 下載符合您裝置作業系統的版本 (x86、x64 或 ARM64)。 在較舊版本的 Windows Server 上,請參閱解除封鎖檔案下載以取得關於下載遠端工具的説明。
Visual Studio 2019 遠端工具 與所有 Visual Studio 2019 版本相容。 下載符合您裝置作業系統的版本 (x86、x64 或 ARM64)。 在較舊版本的 Windows Server 上,請參閱解除封鎖檔案下載以取得關於下載遠端工具的説明。
Visual Studio 2017 遠端工具 與所有 Visual Studio 2017 版本相容。 下載符合您裝置作業系統的版本 (x86、x64 或 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 文件中的下載頁面
版本 連結 備註
Visual Studio 2019 遠端工具 與所有 Visual Studio 2019 版本相容。 下載符合您裝置作業系統的版本 (x86、x64 或 ARM64)。 在 Windows Server 上,請參閱將下載的檔案解除封鎖 ,以取得下載遠端工具的說明。 如需最新版本的遠端工具,請開啟 Visual Studio 2022 文件
Visual Studio 2017 遠端工具 與所有 Visual Studio 2017 版本相容。 下載符合您裝置作業系統的版本 (x86、x64 或 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 遠端工具下載中取得。

提示

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

設定遠端偵錯工具

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

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

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

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

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

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

    如果沒有安裝 Windows Web 服務 API (只有在 Windows Server 2008 R2 上才會發生這種情況),請選取 [安裝] 按鈕。

  3. 請選取至少一個您想要在其中使用遠端工具的網路類型。 如果此電腦經由網域連線,您就必須選擇第一個項目。 如果電腦經由工作群組或家用群組連線,請視情況選擇第二個或第三個項目。

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

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

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

    Screenshot of remote debugger window

    Screenshot of remote debugger window

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

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

<Remote debugger installation directory>\msvsmon.exe

注意

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

對 C++ 專案進行遠端偵錯

在下列程序中,專案路徑是 C:\remotetemp,遠端電腦的名稱是 MySurface

  1. 建立名為 CppConsoleApp 的 C++ 主控台應用程式

  2. 在應用程式某處設定容易達到的中斷點,例如在 main 函式中,在 CppConsoleApp.cpp

  3. 在 [方案總管] 中,以滑鼠右鍵按一下專案,然後選取 [屬性]。 開啟 [偵錯] 索引標籤。

  4. 將 [要啟動的偵錯工具] 設為 [遠端 Windows 偵錯工具]

    Screenshot of the Debugging tab in the Visual Studio Solution Explorer Properties. The Debugger to launch property is set to Remote Windows Debugger.

  5. 對屬性進行下列變更:

    設定
    遠端命令 C:\remotetemp\CppConsoleApp.exe
    工作目錄 C:\remotetemp
    遠端伺服器名稱 MySurface:portnumber
    連線 遠端使用 Windows 驗證
    偵錯工具類型 僅限原生
    部署目錄 C:\remotetemp
    要部署的其他檔案 $(ProjectDir)\data

    如果您部署其他資料夾,且想要將資料夾中的所有檔案部署至相同的資料夾,請指定資料夾名稱。

    如需關於屬性的詳細資訊,請參閱 C++ 偵錯組態的專案設定

  6. 在 [方案總管] 中,以滑鼠右鍵按一下方案,然後選擇 [組態管理員]

  7. 在 [偵錯] 組態中,選取 [部署] 核取方塊。

    Screenshot of the Configuration Manager in the Visual Studio Solution Explorer. The Debug configuration is selected, and Deploy is checked.

  8. 開始偵錯 ([偵錯] > [開始偵錯],或 F5)。

  9. 可執行檔會自動部署到遠端電腦。

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

    所需的認證是網路安全性設定特有的。 例如,在網域電腦上,您可以選擇安全性憑證,或輸入您的網域名稱和密碼。 在非網域電腦上,您可以輸入電腦名稱和有效的使用者帳戶名稱 (例如 MySurface\name@something.com),以及正確的密碼。

  11. 在 Visual Studio 的電腦上,您應該會看到執行過程在中斷點停止。

    提示

    或者,您可以另外執行一個步驟來部署檔案。 在 [方案總管] 中,以滑鼠右鍵按一下專案節點,然後選擇 [部署]

    如果您有應用程式所需的非程式碼檔案,您可以在 [遠端 Windows 偵錯工具] 頁面上 [要部署的其他檔案] 的分號清單中加以指定。

    或者,您可以在專案中包含檔案,並在每個檔案的 [屬性] 頁面中,將 [內容] 屬性設定為 [是]。 這些檔案會複製到 [遠端 Windows 偵錯工具] 頁面上指定的 [部署目錄]。 如果您需要將檔案複製到 [部署目錄] 的子資料夾,則也可以將 [項目類型] 變更為 [複製檔案],並在該處指定其他屬性。

設定遠端符號偵錯

您應該能夠使用您在 Visual Studio 電腦產生的符號偵錯程式碼。 當您使用本機符號時,遠端偵錯工具的效能會更好。

如果您必須使用遠端符號,必須將 Windows 檔案共用新增至 [工具] > [選項] > [偵錯] > [符號] 中的符號搜尋路徑,以指定 Visual Studio 中的遠端符號。