一,需求来源

在开发过程中,可能会要使用Win7 ,Win8
,Win10等不同版本的系统去做兼容性调试,也有时候会去针对特别的显卡,无线网卡等等硬件设备的机器做优化,有一种较优的方案,那就是使用Visual
Studio的远程调试功能,可以直接将测试机作为调试目标,直接跟踪断点和异常,可以像在本机调试一样,迅速的找到错误的地方。,而不需要在测试机安装VS环境。


>传统桌面客户端的远程调试相比UWP,ASP等项目来说,配置比较麻烦,因为它是非部署的应用程序,原理是复制编译的文件到远程计算机,通过网络来连接和VS的通信,本文主要讲述WPF,WinForm应用程序的远程调试

二,正文

①安装Remote Debugger

*
右键Visual Studio->打开文件位置->找到当前目录下的Remote
Debugger文件夹->复制粘贴到你的远程计算机中,运行远程计算机中想要平台的程序msvsmon.exe


*
运行msvsmon.exe,配置安全登录连接信息


②VS调试远程配置

* 打开Visual Studio的项目属性,在调试一栏中勾选使用远程计算机,输入在上图中显示的远程计算机名和端口号

③远程调试目录的配置

*
在远程计算机中新建一个Debug目录,要求和安装了VS的机器中的Debug路径一模一样

上图是远程机器

上图是调试机器

*
右键此共享Debug文件夹选择属性,并将共享设置为EveryOne。


*
复制本机最新编译的Debug文件夹到远程机器的Debug目录下

蠢方法:编译成功后-复制-粘贴到远程计算机中

酷方法:在VS的生成事件中,设置后期生成事件命令行(如下图)
rem 这里的XXX请自行换成IP和项目对应的目录 xcopy $(SolutionDir)\Bin\Debug
\\192.168.XX.XX\xxx\Bin\Debug\ /E /Q /Y


④远程运行

* 点击VS的运行,可以看到远程计算机的远程目录中,开始有新的文件产生,等到复制完毕之后,会弹出提示框,要求输入远程计算机的用户名和密码进行验证
*
一会儿之后,远程计算机的屏幕上就出现了软件的界面

注意

①确保远程计算机和开发机器处于同一局域网
②确保Visual Studio版本一致性,如电脑安装了2015,2017的,在复制Romote Debugger的版本和实际开发的VS版本要求一致
③共享文件夹的访问权限,确保为EveryOne的可读写