C#客戶端程序Visual Studio遠程調(diào)試的方法詳解
一,需求來源
在開發(fā)過程中,可能會要使用Win7 ,Win8 ,Win10等不同版本的系統(tǒng)去做兼容性調(diào)試,也有時候會去針對特別的顯卡,無線網(wǎng)卡等等硬件設(shè)備的機器做優(yōu)化,有一種較優(yōu)的方案,那就是使用Visual Studio的遠程調(diào)試功能,可以直接將測試機作為調(diào)試目標,直接跟蹤斷點和異常,可以像在本機調(diào)試一樣,迅速的找到錯誤的地方。,而不需要在測試機安裝VS環(huán)境。
>傳統(tǒng)桌面客戶端的遠程調(diào)試相比UWP,ASP等項目來說,配置比較麻煩,因為它是非部署的應(yīng)用程序,原理是復(fù)制編譯的文件到遠程計算機,通過網(wǎng)絡(luò)來連接和VS的通信,本文主要講述WPF,WinForm應(yīng)用程序的遠程調(diào)試#
二,正文
①安裝Remote Debugger#
右鍵Visual Studio->打開文件位置->找到當前目錄下的Remote Debugger文件夾->復(fù)制粘貼到你的遠程計算機中,運行遠程計算機中想要平臺的程序msvsmon.exe

運行msvsmon.exe,配置安全登錄連接信息

②VS調(diào)試遠程配置#
打開Visual Studio的項目屬性,在調(diào)試一欄中勾選使用遠程計算機,輸入在上圖中顯示的遠程計算機名和端口號

③遠程調(diào)試目錄的配置#
在遠程計算機中新建一個Debug目錄,要求和安裝了VS的機器中的Debug路徑一模一樣

上圖是遠程機器

上圖是調(diào)試機器
右鍵此共享Debug文件夾選擇屬性,并將共享設(shè)置為EveryOne。

復(fù)制本機最新編譯的Debug文件夾到遠程機器的Debug目錄下
蠢方法:編譯成功后-復(fù)制-粘貼到遠程計算機中
酷方法:在VS的生成事件中,設(shè)置后期生成事件命令行(如下圖)
rem 這里的XXX請自行換成IP和項目對應(yīng)的目錄 xcopy $(SolutionDir)\Bin\Debug \\192.168.XX.XX\xxx\Bin\Debug\ /E /Q /Y

④遠程運行#
點擊VS的運行,可以看到遠程計算機的遠程目錄中,開始有新的文件產(chǎn)生,等到復(fù)制完畢之后,會彈出提示框,要求輸入遠程計算機的用戶名和密碼進行驗證
一會兒之后,遠程計算機的屏幕上就出現(xiàn)了軟件的界面
注意
①確保遠程計算機和開發(fā)機器處于同一局域網(wǎng)
②確保Visual Studio版本一致性,如電腦安裝了2015,2017的,在復(fù)制Romote Debugger的版本和實際開發(fā)的VS版本要求一致
③共享文件夾的訪問權(quán)限,確保為EveryOne的可讀寫
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
- C# 獲取客戶端IPv4地址的示例代碼
- C# 實現(xiàn)FTP客戶端的小例子
- 詳細分析c# 客戶端內(nèi)存優(yōu)化
- C#使用Socket實現(xiàn)服務(wù)器與多個客戶端通信(簡單的聊天系統(tǒng))
- c#獲取客戶端IP地址(考慮代理)
- C#客戶端程序調(diào)用外部程序的3種實現(xiàn)方法
- C#實現(xiàn)FTP客戶端的案例
- C#實現(xiàn)WebSocket協(xié)議客戶端和服務(wù)器websocket sharp組件實例解析
- C#編程獲取客戶端計算機硬件及系統(tǒng)信息功能示例
- 詳解C# Socket簡單例子(服務(wù)器與客戶端通信)
- C# MJPEG 客戶端簡單實現(xiàn)方法
相關(guān)文章
C# WinForm 登錄界面的圖片驗證碼(區(qū)分大小寫+不區(qū)分大小寫)
這篇文章主要介紹了C# WinForm 登錄界面的圖片驗證碼(區(qū)分大小寫+不區(qū)分大小寫),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
C# Dictionary和SortedDictionary的簡介
今天小編就為大家分享一篇關(guān)于C# Dictionary和SortedDictionary的簡介,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
本文章來給各位同學(xué)介紹關(guān)于C#單擊菜單欄或工具欄時通過反射打開窗體的方法,有需要了解的朋友可進入?yún)⒖紖⒖肌?/div> 2015-05-05
C# 實現(xiàn)基于ADO.NET框架的DBHelper工具類(簡化數(shù)據(jù)庫操作)
ADO.NET是.NET框架中用于與數(shù)據(jù)庫交互的核心組件,提供了一套用于連接數(shù)據(jù)庫、執(zhí)行SQL查詢、插入、更新和刪除數(shù)據(jù)的類庫,包括SqlConnection、SqlCommand、SqlDataReader等,本文介紹如何使用DBHelper類封裝數(shù)據(jù)庫操作,以提高代碼的可維護性和復(fù)用性,感興趣的朋友一起看看吧2024-08-08
C#Process的OutputDataReceived事件不觸發(fā)問題及解決
這篇文章主要介紹了C#Process的OutputDataReceived事件不觸發(fā)問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
C#?實例解釋面向?qū)ο缶幊讨械膯我还δ茉瓌t(示例代碼)
本文我介紹了?SOLID?原則中的單一功能原則(single-responsibility?principle),并通過?C#?代碼示例簡明地詮釋了它的含意和實現(xiàn),對C#?面向?qū)ο缶幊淘瓌t感興趣的朋友跟隨小編一起看看吧2022-02-02
C# 三種方式實現(xiàn)Socket數(shù)據(jù)接收
這篇文章主要給大家分享三種實現(xiàn)C# 實現(xiàn)Socket數(shù)據(jù)接收的方式,接下倆小編就來為大家詳細介紹吧,需要的朋友可以參考一下2021-10-10最新評論

