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

 更新时间:2019年09月12日 10:47:08   作者:大头BigHead  
这篇文章主要给大家介绍了关于C#客户端程序Visual Studio远程调试的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

一,需求来源

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • Unity多语言转换工具的实现

    Unity多语言转换工具的实现

    这篇文章主要为大家详细介绍了Unity多语言转换工具的实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • C# WinForm 登录界面的图片验证码(区分大小写+不区分大小写)

    C# WinForm 登录界面的图片验证码(区分大小写+不区分大小写)

    这篇文章主要介绍了C# WinForm 登录界面的图片验证码(区分大小写+不区分大小写),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • C# Dictionary和SortedDictionary的简介

    C# Dictionary和SortedDictionary的简介

    今天小编就为大家分享一篇关于C# Dictionary和SortedDictionary的简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • c# 委托详解

    c# 委托详解

    本文将通过实例解析对c# 委托进行详细介绍,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • C#通过反射打开相应窗体方法分享

    C#通过反射打开相应窗体方法分享

    本文章来给各位同学介绍关于C#单击菜单栏或工具栏时通过反射打开窗体的方法,有需要了解的朋友可进入参考参考。
    2015-05-05
  • 详解c# 数组(Array)

    详解c# 数组(Array)

    这篇文章主要介绍了c# 数组的的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C# 实现基于ADO.NET框架的DBHelper工具类(简化数据库操作)

    C# 实现基于ADO.NET框架的DBHelper工具类(简化数据库操作)

    ADO.NET是.NET框架中用于与数据库交互的核心组件,提供了一套用于连接数据库、执行SQL查询、插入、更新和删除数据的类库,包括SqlConnection、SqlCommand、SqlDataReader等,本文介绍如何使用DBHelper类封装数据库操作,以提高代码的可维护性和复用性,感兴趣的朋友一起看看吧
    2024-08-08
  • C#Process的OutputDataReceived事件不触发问题及解决

    C#Process的OutputDataReceived事件不触发问题及解决

    这篇文章主要介绍了C#Process的OutputDataReceived事件不触发问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C# 实例解释面向对象编程中的单一功能原则(示例代码)

    C# 实例解释面向对象编程中的单一功能原则(示例代码)

    本文我介绍了 SOLID 原则中的单一功能原则(single-responsibility principle),并通过 C# 代码示例简明地诠释了它的含意和实现,对C# 面向对象编程原则感兴趣的朋友跟随小编一起看看吧
    2022-02-02
  • C# 三种方式实现Socket数据接收

    C# 三种方式实现Socket数据接收

    这篇文章主要给大家分享三种实现C# 实现Socket数据接收的方式,接下俩小编就来为大家详细介绍吧,需要的朋友可以参考一下
    2021-10-10

最新评论