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

安装 Remote Debuger

  • 下载适合 Visual Studio 版本的最新远程工具。 最新的远程工具版本与早期的 Visual Studio 版本兼容,但早期的远程工具版本与后来的 Visual Studio 版本不兼容。 (例如,如果使用的是 Visual Studio 2019,请下载 Visual Studio 2019 远程工具的最新更新。在这种情况下,请不要下载 Visual Studio 2022 远程工具。)
  • 下载与要安装远程工具的计算机具有相同体系结构的远程工具。 例如,如果要在运行 x64 操作系统的远程计算机上调试 x86 应用程序,请安装 x64 远程工具。

可以通过将msvsmon.exe复制到远程计算机,也可以通过安装远程工具来运行远程调试器(安装远程工具完成以后就和复制粘贴文件打开msvsmon.exe是一样的,多一个配置页面,这里主要演示复制粘贴):

右键 Visual Studio => 打开文件位置 => 找到当前目录下的Remote Debugger文件夹 => 复制粘贴x64或者x86到你的远程计算机中,运行文件夹中的 msvsmon.exe

配置身份验证模式:工具 => 选项 => Windows 身份验证或者无身份验证,前者需要在连接时进行身份验证:

确认就可以了:

VS调试配置

找到我们本机要调试的项目,用一个简单的Winform项目为例:项目属性 => 调试 => 使用远程计算机 => 根据远程机配置的身份验证模式选择是否进行身份验证 => 重新生成项目

需要勾选启用本地代码调试

配置远程调试目录

在远程计算机上创建一个文件夹,其路径与 Visual Studio 计算机上的 Debug 文件夹相同:<源路径>\Demo01\Demo01\bin\Debug

将远程主机文件夹设置为共享 Everyone

将有 Visual Studio 计算机上的项目 Debug 文件夹下的文件复制粘贴到远程主机 Debug 文件夹下,可手动复制项目,或者使用 XCopyRobocopyPowerShell 或其他选项:

运行程序

在本地运行调试就可以了。

可能出现的问题:

  • 如果出现无法命中断点,提示未加载任何符号集啥的,就重新在本地编译一遍,然后将编译好的Debug文件下的内容复制到远程主机上再来。

  • 远程调试错误和疑难解答

  • 排查远程调试问题

  • 远程调试可能出现的问题有很多,建议就是x64x86都复制进去,出错了就两个换着来,还有身份验证模式,怎么能用怎么来嘛,对吧。

C# 客户端程序 Visual Studio 远程调试方法的更多相关文章

  1. C#客户端程序Visual Stadio远程调试

    一,需求来源 在开发过程中,可能会要使用Win7 ,Win8 ,Win10等不同版本的系统去做兼容性调试,也有时候会去针对特别的显卡,无线网卡等等硬件设备的机器做优化,有一种较优的方案,那就是使用Vi ...

  2. Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储

    在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. ...

  3. CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决

    Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...

  4. 通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

    最近两天在Linux中调试.NET Core应用程序,同时我发现在Linux中调试.NET Core应用程序并不容易.一直习惯在Visual Studio中进行编码和调试.现在我想的是可以简单快速的测 ...

  5. Visual Studio远程调试

    Visual Studio支持调试远程机器上的程序,经过简单设置后,就像调试本地代码一样方便. 第一步:将vs工具里的Remote Debugger文件夹拷贝到目标机器.大致的目录应该是:D:\Pro ...

  6. 在windows通过visual studio远程调试linux mono程序

    本文参考文章 https://github.com/techl/MonoRemoteDebugger 1.通过连接https://github.com/techl/MonoRemoteDebugger ...

  7. visual studio远程调试 remote debugger

    下载远程debug工具: https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2015 或者 ...

  8. 无法在web服务器上启动调试。Microsoft Visual Studio 远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行,VS2012调试错误

    1.重启(无用) 2.关闭防火墙(无用) 3.开启文件与打印机共享(无用) 4.无远程调试权限,改为本地调试.或者是IIS中此项目没有启动.或者没有在IIS中新建此项目.

  9. VS本地调试 Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储

    vs2017 调试一致都没啥问题,今天莫名报这个错误,感觉好奇怪,网上搜索了半天也没解决,最后看着错误信息感觉很诡异,我本地调试你给我启动远程调试监测器干嘛,localhost也访问不了,ping了一 ...

  10. 总是弹出visual studio 实时调试器 三种解决办法

    最近服务器老是弹出visual studio 实时调试器很是郁闷呀.关还关不掉.怎么解决呢 ,现像如下图所示: 下面我们一起来分析一下这种情况的原因: 弹出应用程序: Visual Studio 实时 ...

随机推荐

  1. 项目讲解之火爆全网的开源后台管理系统RuoYi

    博主是在2018年中就接触了 RuoYi 项目 这个项目,对于当时国内的开源后台管理系统来说,RuoYi 算是一个完成度较高,易读易懂.界面简洁美观的前后端不分离项目. 对于当时刚入行还在写 jsp ...

  2. Containerd 入门基础操作

    Containerd 被 Docker.Kubernetes  CRI 和其他一些项目使用 Containerd 旨在轻松嵌入到更大的系统中.Docker 在后台使用 containerd来运行容器. ...

  3. flask快速上手

    看完这2个基本可以起步flask了 一学习 https://www.codingdict.com/article/4884 二实战 https://blog.miguelgrinberg.com/po ...

  4. okio中数据存储的基本单位Segment

    1.Segment是Buffer缓冲区存储数据的基本单位,每个Segment能存储的最大字节是8192也就是8k的数据 /** The size of all segments in bytes. * ...

  5. Hooks与事件绑定

    Hooks与事件绑定 在React中,我们经常需要为组件添加事件处理函数,例如处理表单提交.处理点击事件等.通常情况下,我们需要在类组件中使用this关键字来绑定事件处理函数的上下文,以便在函数中使用 ...

  6. 1 分钟给 Siri 升个级!从智Z变身 ChatSiri!

    原文链接:https://forum.laf.run/d/79/17 众所周知,Siri 是一个智 Z!那么如果能接入大火的 chatGPT,是不是就会从智 Z 变成人工智能?! 众所周知,Laf 是 ...

  7. Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)

    Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享) 常用的两款AI可视化交互应用比较: Gradio Gradio的优势在于易用性,代码结构相比Str ...

  8. JAVA注解@Scheduled 不执行

    spring boot项目需要在启动类加上注解 @EnableScheduling 定义一个接口 StockTask.java 1 public interface StockTask { 2 pub ...

  9. Python if 语句练习

    if语句 练习 # 1.以特殊方式跟管理员打招呼 # 创建一个至少包含 5 个用户名的列表,且其中一个用户名为 'admin' .想象你要编写代码,在每位用户登录网站后都打印一条问 # 候消息.遍历用 ...

  10. Python网络爬虫原理及实践

    作者:京东物流 田禹 1 网络爬虫 网络爬虫:是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 网络爬虫相关技术和框架繁多,针对场景的不同可以选择不同的网络爬虫技术. 2 Scrapy框架( ...