查看原文
其他

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

DotNet 2024-04-12

推荐关注↓

前言

传统桌面客户端的远程调试相比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文件下的内容复制到远程主机上再来。

远程调试错误和疑难解答

排查远程调试问题

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

转自:BoiledYakult

链接:cnblogs.com/BoiledYakult/p/17459749.html

- EOF -

推荐阅读  点击标题可跳转
C# 开源的GitHub加速神器【程序员的福音】
Entity Framework-Plus: 让 EF Core 如虎添翼MAUI Blazor项目实战 从0到1轻松构建多平台应用UI

看完本文有收获?请转发分享给更多人

推荐关注「DotNet」,提升.Net技能 

点赞和在看就是最大的支持❤️

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存