前言: 
有时候我们Dev(开发人员)需要debug tester(测试人员)或者customer(客户)的环境,可tester的机器上没有Code,是不是有点着急? 而且是多版本应用且tester 发现了问题需要我们去查看的时候, 这个时候怎样能够第一时间帮助tester 找到问题的原因呢?

不要着急, 这里VS给我们提供了一个很好的功能: Remote Debugger, 下面就好好的来说下这个功能吧.

使用场景:

假设现在有A、B两台机器,其中A是Dev的开发server(这里是在win server环境去开发)装着Visual Studio以及Code,B机器上是Tester部署着我们的应用。

第一种方式: Windows Authentication

1、在A机器上的Visual Studio安装目录下找到Common7\IDE\Remote Debugger文件夹, 并将其Copy到B机器上。如下图:​

2、运行B机器上Remote Debugger下与本机向对应的目录下(x86  or x64 )的msvsmon.exe文件如下图:(注意以管理员的身份运行msvsmon.exe)

Remote Debugger启动时默认选择的认证方式就是"Windows Authentication",启动后我们可以看到如上图所示的一条信息,红框圈起来的其实是server name,其中,Administrator是登陆B机器的用户名称,TEST28-181是B机器的名称。

3. 打开Tools > Options菜单项,点击"Permissions…"按钮,在弹出的对话框中确认当前用户有Debug的权限,如下图:

到此需要调试的机器B已经设置完毕。

4、返回到A机器上,在打开的源码中选择Debug菜单中的Attach to Process子菜单项,在弹出的对话框中的Qualifier  文本框中输入Step 3 里的Server name,然后点击"Refresh"按钮,选中需要调试的的进程,点击Attach按钮,如下图:​(PS: 因为怕涉及到公司一些东西, 所以图片中有些地方直接加了马赛克)

5. 这时候返回到B机器上,你会在Remote Debugger中看到一条类似如红框所示的信息,这说明Remote Debugger已经连上了。

剩下的,你就可以像在本机一样,痛痛快快的debug了,真的是毫无违和感呢。

最后重要的一点:采用Windows Authentication​的话,两台机器的账户名和密码要是一样,如果遇到不一致的情况,可以通过新建用户或者修改密码的方式来解决。

第二种: No Authentication

1、选择认证方式为“No Authentication”,check “Allow any user to debug”。

出现一下内容就对了:

2、VS -> DEBUG -> Attach To Process,然后就如下图进行设置,端口要与Remote Debug Option配置成一样。

Refresh之后Avaliable Processes有值并且Debug Monitor会出现xxx connected.

OK,Attach To Process之后,就可以随意的Debug了。

最后重要的一点:采用No Authentication​的话,两台机器的防火墙都需要关掉。

写在最后: 如果将自己code build 过后的dll 替换到tester 的环境上仍然无法debug 的话, 就要考虑给dll 打强名了, 具体方法: http://www.cnblogs.com/darrenji/p/3654650.html

转载于:https://www.cnblogs.com/wang-meng/p/5119094.html

[Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.相关推荐

  1. 使用vscode remote ssh功能远程连接服务器或树莓派时,报错Setting up SSH tunnel的终极解决办法,全网仅此一份

    当你想用vscode remote ssh 功能远程开发linux服务器.树莓派时,.vscode-server文件创建完成,但是一直显示卡在 Setting up SSH Host <你的用户 ...

  2. java 远程debug 内网_java jdb remote debug - java远程调试

    简介 用log来做调试的方法低效茫目 远程调试是jdk自带的一个有利调试工具,可以快速定位问题 在工作机上使用eclipse来自带的remote debug 问题 运维禁止使用remote debug ...

  3. Java Remote Debug(远程调试)

    Java Remote Debug(远程调试) 作者: ytfei 日期: 2011 年 05 月 08 日 发表评论 (0) 查看评论 新接手的项目采用的是Maven作为编译管理工具,项目内容则是按 ...

  4. tomcat5 remote debug 设置

    2019独角兽企业重金招聘Python工程师标准>>> 1.tomcat debug 设置 配置catalina.bat文件,加入下面这句 set CATALINA_OPTS=-se ...

  5. Pycharm远程调试之ssh remote debug(二)

    Pycharm远程调试之ssh remote debug (一) 上一篇我们讲了怎么去初步创建一个远程debug的工程,这篇我们来更深一下,讲一下当我们要修改Interperter时要怎么做. 1.创 ...

  6. idea远程调试修改代码_IDEA远程调试(Remote Debug)Java代码指南

    前言 当我们的代码在线上/测试环境运行出现异常需要进行问题定位时,之前的传统做法是:查看异常日志,根据日志定位到出错代码,然后再根据相关参数及异常信息进行推断.但是很多异常问题需要更细致的进行debu ...

  7. VStudio 2003 remote debug

    有时候一些程序已经部署到了服务器上,这时程序出现问题,但条件不允许我们在服务器上安装VStudio.或者在调试一些DirectX和一些GDI程序时,无法在同一台机器上用VStudio调试,这时,rem ...

  8. Android remote debug 打开手机应用里的网页却显示空白

    2019独角兽企业重金招聘Python工程师标准>>> 今天用Chrome remote debug的时候发现,点了了inspect,页面却是空白的,反复刷新无效,Chrome也是最 ...

  9. QT Creator 环境使用 remote debug 调试 arm 程序

    这里使用的 4.8.5 QTE 环境,之前尝试过远程使用 GDB 来调试板子上的 QT 程序,但是没成功.没有调试手段比较痛苦,今天又花了点时间,居然搞定了.粗做记录. 工具版本: 1. QtCrea ...

最新文章

  1. 5G产业发展最新进展深度解析(144页PPT)
  2. 【打CF,学算法——二星级】Codeforces Round #313 (Div. 2) B. Gerald is into Art(水题)...
  3. Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的png文件
  4. 1134:合法C标识符查
  5. java 内存屏障类型_Java内存模型精讲
  6. sql alter表字段处理
  7. 通过扩展方法,将C#的DateTime(日期)转换成人性化的显示
  8. html 标签内背景图片自适应 div 大小
  9. 信息学奥赛一本通 1141:删除单词后缀 | OpenJudge NOI 1.7 20
  10. GDI+学习及代码总结之------画刷Brush .
  11. NuxtJS快速入门
  12. Limesdr软件无线电架构的理解
  13. python中实现简单抽样的函数
  14. java 正则表达式匹配冒号_用于匹配与冒号连接的单词对的正则表达式
  15. matlab gui修改图标,Matlab的GUI中左上角修改为自己想要的图标
  16. MacBook Pro M1外接显示器模糊解决之分辨率调节
  17. Lenovo system x3650 M5 Win2016U盘安装过程
  18. 在设计齿轮时,如何选用合适的模数
  19. Kahan's summation Formula
  20. c语言编程大体难度较高的,面向初学者的C语言编程方法研究

热门文章

  1. Could not find a suitable table factory for ‘org.apache.flink.table.factories.TableSinkFactory‘
  2. intellij连接真实的flink集群
  3. spark的Web UI查看DAG的两种方式
  4. Sublime Text提示Unable to download XXX. Please view the console for more details安装插件失败解决(转)
  5. fasttext初步使用
  6. makefile 基本总结
  7. 5.2 最优近似解 $\mathbf{\hat{x}} = A^{-1}_L\mathbf{b}$ 是最小二乘解
  8. 深度学习(三十)——Deep Speech, 自动求导
  9. python控制摄像头拍照_python+opencv+pyqt5控制摄像头在Qlabel上显示
  10. Activity和Service的生命周期-----Activity学习笔记(一)