前言:
做为一个程序员, 必备的技能就是代码调试了,但是你们真的掌握了VS 的调试吗?有些时候由于线上环境和本地环境的差异, 导致本地可以运行, 但是线上确是存在异常的情况。也许可以通过Log 很快的定位到问题, 但是很多情况是不太好定位的,所以这个时候就体现出 VS 的强大了~~~~ 远程调试
关于 Remote Debugger
使用VS远程调试器Remote Debugger,你可以调试部署在不同的计算机上的VS应用程序。它适用于Windows桌面应用程序和ASP.NET的应用程序。
获取远程工具
获取远程工具的方式有两种。一种是从MSDN的文档中选择下载自己要下载的远程工具,还有一种是从你主机安装Visual Studio的目录中获取。
下载并安装远程工具
在要调试的设备或服务器(而不是机器运行Visual Studio),下载与你的操作系统的版本(X86,X64,或ARM版)相匹配的远程工具。
从主机拷贝
从主机VS的安装目录中拷贝Remote Debugger文件夹至你要远程的服务器。可以放到任意位置,不影响程序运行。
启动远程调试器
Remote Debugger文件夹里面会有x86、x64两个文件夹对应相应版本的工具,根据服务器的系统环境进入相应的文件夹并以管理员身份运行里面的远程调试器msvsmon.exe。
服务器端操作
1.将本地的C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Debugger 文件夹复制到服务器上,如果找不到文件夹,可能是安装的目录不在C盘, 可以找到本地VS 右键-> 属性-> 打开文件所在位置 -> 然后将 Remote Debugger 文件夹复制到服务器
2.双击运行 Remote Debugger/X64/msvsmon.exe程序, 然后选择 “工具-> 选项”
注:
这里有个坑, vs 2017远程测试默认开启的是4022端口,所以我们需要将服务器的入站规则配置开启 4022 端口;如果是云服务器,还需要开启云服务器的端口。
客户端操作
现在可以开始操作本地了, 打开VS -> 调试 -> 附加到进程
附加成功后,注意VS下方的状态栏,编程橙色“Ready”,测试运行程序就可以进行远程调试了
如果是”无身份验证”远程,连接类型选择”remote”(远程)