對 Visual Studio 中的 C++ 專案進行遠端偵錯
若要對不同電腦上的 Visual Studio 應用程式進行偵錯,請在您部署應用程式的電腦上安裝並執行遠端工具、設定專案以從 Visual Studio 連線到遠端電腦,然後部署並執行您的應用程式。
如需有關通用 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 (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 文件中的下載頁面 |
版本 | 連結 | 備註 |
---|---|---|
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 遠端工具下載中取得。
提示
在某些情況下,從檔案共用中執行遠端偵錯工具最有效率。 如需詳細資訊,請參閱從檔案共用中執行遠端偵錯工具。
設定遠端偵錯工具
在遠端電腦上,從 [開始] 功能表尋找並啟動遠端偵錯工具。
如果您沒有遠端電腦上的系統管理權限,請以滑鼠右鍵按一下 [遠端偵錯工具] 應用程式,然後選取 [以系統管理員身分執行]。 否則,只要正常啟動即可。
如果您打算連結至以系統管理員身分執行的程序,或是在不同使用者帳戶下執行的程序,請以滑鼠右鍵按一下 [遠端偵錯工具] 應用程式,然後選取 [以系統管理員身分執行]。 如需詳細資訊,請參閱以系統管理員身分執行遠端偵錯工具。
第一次啟動遠端偵錯工具時 (或設定遠端工具之前),遠端偵錯設定精靈會隨即出現。
在大部分情況下,請一直選擇 [下一步],直到進入精靈的 [設定 Windows 防火牆] 頁面為止。
如果沒有安裝 Windows Web 服務 API (只有在 Windows Server 2008 R2 上才會發生這種情況),請選取 [安裝] 按鈕。
請選取至少一個您想要在其中使用遠端工具的網路類型。 如果此電腦經由網域連線,您就必須選擇第一個項目。 如果電腦經由工作群組或家用群組連線,請視情況選擇第二個或第三個項目。
接下來,選取 [完成] 以啟動遠端偵錯工具。
接下來,選取 [設定遠端偵錯] 以啟動遠端偵錯工具。
設定完成時,[遠端偵錯工具] 視窗會隨即出現。
遠端偵錯工具現在會等候連線。 使用顯示的伺服器名稱和連接埠號碼,在 Visual Studio 中設定遠端連線設定。
若要停止遠端偵錯工具,請選取 [檔案]>[結束]。 您可以從 [開始] 功能表或從命令列將其重新啟動:
<Remote debugger installation directory>\msvsmon.exe
注意
如果您需要為其他使用者新增權限、變更驗證模式或遠端偵錯工具的連接埠號碼,請參閱設定遠端偵錯工具。
對 C++ 專案進行遠端偵錯
在下列程序中,專案路徑是 C:\remotetemp,遠端電腦的名稱是 MySurface。
建立名為 CppConsoleApp 的 C++ 主控台應用程式
在應用程式某處設定容易達到的中斷點,例如在
main
函式中,在 CppConsoleApp.cpp。在 [方案總管] 中,以滑鼠右鍵按一下專案,然後選取 [屬性]。 開啟 [偵錯] 索引標籤。
將 [要啟動的偵錯工具] 設為 [遠端 Windows 偵錯工具]。
對屬性進行下列變更:
設定 值 遠端命令 C:\remotetemp\CppConsoleApp.exe 工作目錄 C:\remotetemp 遠端伺服器名稱 MySurface:portnumber 連線 遠端使用 Windows 驗證 偵錯工具類型 僅限原生 部署目錄 C:\remotetemp 要部署的其他檔案 $(ProjectDir)\data 如果您部署其他資料夾,且想要將資料夾中的所有檔案部署至相同的資料夾,請指定資料夾名稱。
如需關於屬性的詳細資訊,請參閱 C++ 偵錯組態的專案設定。
在 [方案總管] 中,以滑鼠右鍵按一下方案,然後選擇 [組態管理員]。
在 [偵錯] 組態中,選取 [部署] 核取方塊。
開始偵錯 ([偵錯] > [開始偵錯],或 F5)。
可執行檔會自動部署到遠端電腦。
如果出現提示,請輸入網路認證以連線到遠端電腦。
所需的認證是網路安全性設定特有的。 例如,在網域電腦上,您可以選擇安全性憑證,或輸入您的網域名稱和密碼。 在非網域電腦上,您可以輸入電腦名稱和有效的使用者帳戶名稱 (例如 MySurface\name@something.com),以及正確的密碼。
在 Visual Studio 的電腦上,您應該會看到執行過程在中斷點停止。
提示
或者,您可以另外執行一個步驟來部署檔案。 在 [方案總管] 中,以滑鼠右鍵按一下專案節點,然後選擇 [部署]。
如果您有應用程式所需的非程式碼檔案,您可以在 [遠端 Windows 偵錯工具] 頁面上 [要部署的其他檔案] 的分號清單中加以指定。
或者,您可以在專案中包含檔案,並在每個檔案的 [屬性] 頁面中,將 [內容] 屬性設定為 [是]。 這些檔案會複製到 [遠端 Windows 偵錯工具] 頁面上指定的 [部署目錄]。 如果您需要將檔案複製到 [部署目錄] 的子資料夾,則也可以將 [項目類型] 變更為 [複製檔案],並在該處指定其他屬性。
設定遠端符號偵錯
您應該能夠使用您在 Visual Studio 電腦產生的符號偵錯程式碼。 當您使用本機符號時,遠端偵錯工具的效能會更好。
如果您必須使用遠端符號,必須將 Windows 檔案共用新增至 [工具] > [選項] > [偵錯] > [符號] 中的符號搜尋路徑,以指定 Visual Studio 中的遠端符號。