在 Visual Studio 中遠端偵錯C++專案
若要對不同電腦上的 Visual Studio 應用程式進行偵錯,請在您將部署應用程式的電腦上安裝並執行遠端工具、設定專案以從 Visual Studio 連線到遠端電腦,然後部署並執行您的應用程式。
如需遠端偵錯通用 Windows 應用程式 (UWP) 的相關信息,請參閱 偵錯已安裝的應用程式套件。
要求
從 Windows Server 2008 Service Pack 2 開始,Windows 7 和更新版本 Windows Server 支援遠端調試程式。 如需完整的需求清單,請參閱 需求。
注意
不支援透過 Proxy 連線的兩部電腦之間進行偵錯。 不建議在高延遲或低頻寬的連線上進行偵錯,例如使用撥號網際網路,或在跨國家/地區透過網際網路進行偵錯,因為這樣可能會導致失敗或速度慢到無法接受的程度。
下載並安裝遠端工具
在您要偵錯的遠端裝置或伺服器上,而不是 Visual Studio 機器,從下表中的鏈接下載並安裝正確的遠端工具版本。
- 下載 Visual Studio 版本的最新遠端工具。 最新的遠端工具版本與舊版 Visual Studio 相容,但舊版遠端工具版本與較新的 Visual Studio 版本不相容。 (例如,如果您使用 Visual Studio 2019,請下載 Visual Studio 2019 遠端工具的最新更新。在此案例中,請勿下載 Visual Studio 2022 的遠端工具。
- 下載遠端工具,其架構與您安裝所在的計算機相同。 例如,如果您想要在執行64位作業系統的遠端電腦上偵錯32位應用程式,請安裝64位遠端工具。
- 如果您是在 ARM64 裝置上遠端偵錯ARM64EC應用程式,請安裝 ARM64 遠端工具,然後啟動隨這些工具一起安裝的 x64 遠端調試程式。 您可以在下列位置找到:Program Files (x86)\Microsoft Visual Studio<版本>\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 遠端工具下載。
提示
在某些情況下,從檔案共用執行遠端調試程式最有效率。 如需詳細資訊,請參閱 從檔案共用執行遠端除錯程式。
設定遠端調試程式
在遠端電腦上,從 [開始] 功能表尋找並啟動 遠端調試程式。
如果您沒有遠端電腦上的系統管理許可權,請滑鼠右鍵按住 遠端除錯程式 應用程式,然後選取[以系統管理員身分執行]。 否則,只要正常啟動即可。
如果您打算附加至以系統管理員身分運行的進程,或是在不同使用者帳戶(如 IIS)下運行,請在 遠端調試程式 應用程式上按滑鼠右鍵,然後選擇 [以系統管理員身分執行]。 如需詳細資訊,請參閱 以系統管理員身分執行遠端調試程式。
第一次啟動遠程調試程式(或設定之前),遠端偵錯組態 精靈隨即出現。
在大部分情況下,請選擇 [下一步],直到您進入精靈的 [設定 Windows 防火牆] 頁面 為止。
如果未安裝 Windows Web 服務之 API,這只有在 Windows Server 2008 R2 上會發生,請選取 [安裝] 按鈕。
選取至少一個您想要使用遠端工具的網路類型。 如果電腦是透過網域連線,您必須選擇第一個選項。 如果計算機是透過工作組或家庭群組連線,請視需要選擇第二或第三個專案。
接下來,選取 完成 以啟動遠端偵錯工具。
接下來,選取 [設定遠端偵錯 以啟動遠端調試程式。
設定完成時,[遠端調試程式] 視窗隨即出現。
遠端調試程式現在正在等候連線。 使用顯示的伺服器名稱和埠號碼,在 Visual Studio 中設定遠端聯機組態。
若要停止遠端除錯程式,請選擇 [[檔案]>[結束]。 您可以從 [開始] 選單,或從命令行將它重新啟動:
<Remote debugger installation directory>\msvsmon.exe
注意
如果您需要為其他使用者新增許可權、變更驗證模式或遠端調試程式的埠號碼,請參閱 設定遠端調試程式。
遠端偵錯C++專案
在下列程式中,專案的路徑為 C:\remotetemp,而遠端電腦的名稱 MySurface。
建立名為 CppConsoleApp 的C++控制台應用程式
在應用程式中一個容易到達的位置設置斷點,例如在 CppConsoleApp.cpp中的
main
函式內。在 [方案總管] 中,以滑鼠右鍵按一下專案,選擇 [屬性]。 開啟 [除錯] 標籤。
將 除錯程式設定為啟動,以 遠端 Windows 調試程式。
對屬性進行下列變更:
設定 價值 遠端命令 C:\remotetemp\CppConsoleApp.exe 工作目錄 C:\remotetemp 遠端伺服器名稱 MySurface:端口號 連接 使用 Windows 驗證的遠端連線 除錯類型 僅限本地 部署目錄 C:\remotetemp 要部署的其他檔案 $(ProjectDir)\data 如果您部署其他資料夾,而且想要將資料夾中的所有檔案部署至相同的資料夾,請指定資料夾名稱。
如需屬性的詳細資訊,請參閱 C++ 偵錯組態項目設定。
在 [方案總管] 中,以滑鼠右鍵按兩下方案,然後選擇 Configuration Manager。
針對 偵錯 組態,選取 [部署] 複選框。
開始偵錯 (偵錯 > 開始偵錯或 F5)。
可執行檔會自動部署到遠端電腦。
如果出現提示,請輸入網路認證以連線到遠端電腦。
所需的認證是網路安全性設定特有的。 例如,在網域電腦上,您可能會選擇安全性憑證,或輸入您的網域名稱和密碼。 在非網域計算機上,您可以輸入計算機名稱和有效的用戶帳戶名稱,例如 MySurface\name@something.com,以及正確的密碼。
在 Visual Studio 計算機上,您應該會在斷點看到執行已停止。
提示
或者,您可以將檔案部署為個別步驟。 在 [方案總管] 中, 以滑鼠右鍵點擊該節點,然後選擇 部署。
如果您有應用程式所需的非程式代碼檔案,您可以在 [其他檔案] 的分號分隔清單中指定它們,[要部署 的其他檔案] 的 [調試程式] 屬性 頁面上,並選取 [遠端 Windows 調試程式]。
或者,您可以將檔案包含在專案中,並將 Content 屬性設定為 [是] 在每個檔案的 [屬性] 頁面中。 這些檔案會複製到 調試程式 屬性頁面上指定的 部署目錄,並選取 遠端 Windows 調試程式。 如果您需要將檔案複製到 部署目錄的子資料夾,您也可以將 項目類型 變更為 複製檔案,並在該處指定其他屬性。
使用遠端符號設定偵錯
您應該能夠使用您在 Visual Studio 電腦上產生的符號對程式代碼進行偵錯。 當您使用本機符號時,遠端調試程式的效能會更好。
如果您必須使用遠端符號,需在 Visual Studio 中設定遠端符號,方法是將 Windows 檔案共用新增至符號搜尋路徑:[工具] > [選項] > [偵錯] > [符號]。
相關內容
- Visual Studio 中的 偵錯
- 第一次查看調試程式
- 設定 Windows 防火牆以進行遠端偵錯
- 遠端調試程式埠指派
- 在遠端 IIS 電腦上進行 ASP.NET 遠端偵錯
- 遠端偵錯錯誤和疑難解答