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

  • C# 客户端程序 Visual Studio 远程调试方法已关闭评论
  • 167 次浏览
  • A+
所属分类:.NET技术
摘要

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


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

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

安装 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

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

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

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

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

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

确认就可以了:

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

VS调试配置

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

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

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

配置远程调试目录

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

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

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

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

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

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

运行程序

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

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

可能出现的问题:

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

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

  • 排查远程调试问题

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