C#客户端程序Visual Studio远程调试

C#

浏览数:294

2019-9-12

一,需求来源

在开发过程中,可能会要使用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的可读写

作者:大头BigHead