> > 傳統桌面客戶端的遠程調試相比`UWP`,`ASP`等項目來說,配置比較麻煩,因為它是非部署的應用程式,原理是複製編譯的文件到遠程電腦,通過網路來連接和`VS`的通信,本文主要講述`WPF`,`WinForm`應用程式的遠程調試。 ![](https://learn.microsoft.co ...
傳統桌面客戶端的遠程調試相比
UWP
,ASP
等項目來說,配置比較麻煩,因為它是非部署的應用程式,原理是複製編譯的文件到遠程電腦,通過網路來連接和VS
的通信,本文主要講述WPF
,WinForm
應用程式的遠程調試。
安裝 Remote Debuger
- 下載適合
Visual Studio
版本的最新遠程工具。 最新的遠程工具版本與早期的Visual Studio
版本相容,但早期的遠程工具版本與後來的Visual Studio
版本不相容。 (例如,如果使用的是 Visual Studio 2019,請下載 Visual Studio 2019 遠程工具的最新更新。在這種情況下,請不要下載 Visual Studio 2022 遠程工具。) - 下載與要安裝遠程工具的電腦具有相同體繫結構的遠程工具。 例如,如果要在運行
x64
操作系統的遠程電腦上調試x86
應用程式,請安裝x64
遠程工具。
可以通過將msvsmon.exe
複製到遠程電腦,也可以通過安裝遠程工具來運行遠程調試器(安裝遠程工具完成以後就和複製粘貼文件打開msvsmon.exe
是一樣的,多一個配置頁面,這裡主要演示覆制粘貼):
右鍵 Visual Studio
=> 打開文件位置 => 找到當前目錄下的Remote Debugger
文件夾 => 複製粘貼x64
或者x86
到你的遠程電腦中,運行文件夾中的 msvsmon.exe
配置身份驗證模式:工具 => 選項 => Windows 身份驗證或者無身份驗證,前者需要在連接時進行身份驗證:
確認就可以了:
VS調試配置
找到我們本機要調試的項目,用一個簡單的Winform
項目為例:項目屬性 => 調試 => 使用遠程電腦 => 根據遠程機配置的身份驗證模式選擇是否進行身份驗證 => 重新生成項目
不要勾選啟用本地代碼調試
配置遠程調試目錄
在遠程電腦上創建一個文件夾,其路徑與 Visual Studio
電腦上的 Debug
文件夾相同:<源路徑>\Demo01\Demo01\bin\Debug
:
將遠程主機文件夾設置為共用 Everyone
:
將有 Visual Studio
電腦上的項目 Debug
文件夾下的文件複製粘貼到遠程主機 Debug
文件夾下,可手動複製項目,或者使用 XCopy
、Robocopy
、PowerShell
或其他選項:
運行程式
在本地運行調試就可以了。
可能出現的問題:
-
如果出現無法命中斷點,提示未載入任何符號集啥的,就重新在本地編譯一遍,然後將編譯好的
Debug
文件下的內容複製到遠程主機上再來。 -
遠程調試可能出現的問題有很多,建議就是
x64
、x86
都複製進去,出錯了就兩個換著來,還有身份驗證模式,怎麼能用怎麼來嘛,對吧。