C#客户端程序Visual Studio远程调试的方法详解

作者:大头BigHead 时间:2022-10-20 19:13:54 

一,需求来源

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

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

①安装Remote Debugger#

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

C#客户端程序Visual Studio远程调试的方法详解

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

C#客户端程序Visual Studio远程调试的方法详解

②VS调试远程配置#

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

C#客户端程序Visual Studio远程调试的方法详解

③远程调试目录的配置#

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

C#客户端程序Visual Studio远程调试的方法详解

上图是远程机器

C#客户端程序Visual Studio远程调试的方法详解

上图是调试机器

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

C#客户端程序Visual Studio远程调试的方法详解

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

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

酷方法:在VS的生成事件中,设置后期生成事件命令行(如下图)


rem 这里的XXX请自行换成IP和项目对应的目录
xcopy $(SolutionDir)\Bin\Debug \\192.168.XX.XX\xxx\Bin\Debug\ /E /Q /Y

C#客户端程序Visual Studio远程调试的方法详解

④远程运行#

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

一会儿之后,远程计算机的屏幕上就出现了软件的界面

注意

①确保远程计算机和开发机器处于同一局域网

②确保Visual Studio版本一致性,如电脑安装了2015,2017的,在复制Romote Debugger的版本和实际开发的VS版本要求一致

③共享文件夹的访问权限,确保为EveryOne的可读写

来源:https://www.cnblogs.com/Big-Head/p/11510482.html

标签:visualstudio,远程,调试
0
投稿

猜你喜欢

  • C#中ListView用法实例

    2021-10-15 06:10:24
  • Java实战之实现用户登录

    2022-08-03 14:42:55
  • Java 六类运算符详解

    2023-08-27 20:37:37
  • web.xml SpringBoot打包可执行Jar运行SpringMVC加载流程

    2023-11-24 07:40:52
  • springboot2.X整合prometheus监控的实例讲解

    2021-07-04 13:49:59
  • 一口气说出Java 6种延时队列的实现方法(面试官也得服)

    2022-12-15 16:40:12
  • 使用PageHelper插件实现Service层分页

    2023-03-06 00:40:39
  • C#中的Linq To XML讲解

    2021-06-29 18:39:43
  • android调用国家气象局天气预报接口json数据格式解释

    2022-09-16 21:08:24
  • Android ListView与RecycleView的对比使用解析

    2022-05-05 16:56:02
  • 解决使用json-lib包实现xml转json时空值被转为空中括号的问题

    2022-10-20 02:12:14
  • SpringBoot中的main方法注入service

    2021-10-31 15:33:33
  • 泛谈Java中的不可变数据结构

    2022-02-18 00:12:54
  • Android开发 旋转屏幕导致Activity重建解决方法

    2022-03-02 06:00:23
  • Spring Boot 集成Redisson实现分布式锁详细案例

    2023-06-10 05:09:17
  • C#获取网页源代码的方法

    2023-06-19 05:43:44
  • maven报错:Failed to execute goal on project问题及解决

    2021-09-30 09:58:36
  • Java锁之自旋锁详解

    2022-12-12 21:38:36
  • Java操作pdf的工具类itext的处理方法

    2023-07-14 11:51:53
  • Java性能优化技巧汇总

    2023-01-05 16:26:31
  • asp之家 软件编程 m.aspxhome.com