VS 开发工具中的Remote Debug 功能远程调试程序经验分享

时间:2022-09-10 17:28:28

前言: 
有时候我们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机器上。如下图:​

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

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

第二种: No Authentication

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

出现一下内容就对了:

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享

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

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

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

VS 开发工具中的Remote Debug 功能远程调试程序经验分享的更多相关文章

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

    前言: 有时候我们Dev(开发人员)需要debug tester(测试人员)或者customer(客户)的环境,可tester的机器上没有Code,是不是有点着急? 而且是多版本应用且tester 发 ...

  2. Eclipse—怎样为Eclipse开发工具中创建的JavaWebproject创建Servlet

    在博客<在Eclipse中怎样创建JavaWebproject>中图文并茂的说明了Eclipse中创建JavaWebproject的方法,本篇博客将告诉大家怎样为Eclipse开发工具中创 ...

  3. ueditor1&period;4&period;3在&period;net环境下的vs开发工具中集成经验

    Ueditor是个非常不错的在线富文本编辑器,几个项目一直使用它.近期想更新版本号.发现新版1.4.3与旧版的部署方式全然不一样了.官网文档介绍的是直接放在iis下的部署说明,没有提到在vs开发工具中 ...

  4. 报表开发工具中开放的部分图表js接口列表

    1.. 描述 报表开发工具FineReport 8.0版本中开放了部分图表js接口,在具体应用的过程中很多人都不知道这些接口到底有什么作用,该怎么应用,所以根据我自己的应用在下面归纳了这些新开放js接 ...

  5. 报表开发工具中mysql数据库连接编码转化失效解决方案

    1. 问题描述 在报表开发工具FineReport中,mysql数据库连接通过数据连接编码转换进行编码的转换,在通过报表录入往数据库中录入中文数据的时候,总是出现乱码,这个该怎么解决呢? 2. 解决方 ...

  6. 详解WPF Blend工具中的复合路径功能 &lpar; 含路径标记语法 &rpar;

    写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题.  稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...

  7. 如何使用IDEA开发工具中右键中的Git图形化工具

    首先,你的项目一定是git服务器上面down下来的,下面来演示如何使用IntelliJ IDEA 开发中在鼠标右键中提供的一个非常方便的图形化Git管理工具: 这里使用的IDEA开发工具的版本是 In ...

  8. 微信小程序开发工具中快捷键

    微信小程序开发工具表面上是没有更多的样式类的工具,例如缩进.隐藏代码什么的. 现在总结一下小程序开发工具常用的一些快捷键: 格式调整 Ctrl+S:保存文件Ctrl+[, Ctrl+]:代码行缩进Ct ...

  9. ios开发总结,日常开发:ios开发功能收集,经验分享等等(不断更新中。。。)

    github资料学习和下载地址:https://github.com/niexiaobo/MyDailyDevelopmentNotes ios 学习模块 ios APP 日志管理的重要性: 一个功能 ...

随机推荐

  1. Python基于pandas的数据处理(一)

    import pandas as pd, numpy as np dates = pd.date_range(', periods=6) df = pd.DataFrame(np.random.ran ...

  2. 《C与指针》第五章练习

    本章问题 1.这个表达式的类型和值为多少? (/) answer:The cast is applied to the result of the division,and because both ...

  3. Visual Studio与Eclipse与IntelliJ快捷键对比

  4. 零基础学习云计算及大数据DBA集群架构师【Linux系统配置及网络配置2015年12月30日周三】

    /Mon *************摘要************** 计划任务 )一次性计划任务 服务:atd 命令:at 服务存放文件:/etc/init.d/atd 系统配置文件:/etc/at. ...

  5. RedisRepository分享和纠错

    .mytitle { background: #2B6695; color: white; font-family: "微软雅黑", "宋体", "黑 ...

  6. android四大组件学习总结以及各个组件示例&lpar;2&rpar;

    上篇博文讲解了activity.content provider,此篇博文来仔细总结service.broadcast receiver: 3. Service >什么是服务?>windo ...

  7. layUI 实现自定义弹窗

    需求描述:点击表格中的数据,弹出一张具体信息表.描述的不是很清楚,放效果图,就明白了,上图 放心,能看到的数据,都不是生产数据,我造的假数据,但是功能效果就是这样,点击列表中的一行,弹出某些要展示的信 ...

  8. &lbrack;Swift&rsqb;LeetCode391&period; 完美矩形 &vert; Perfect Rectangle

    Given N axis-aligned rectangles where N > 0, determine if they all together form an exact cover o ...

  9. 一个考验c语言和数据结构功底的小项目

    想测一下自己c语言学习水平的朋友可以做一下这个项目试试,能做出来说明c语言已经入门了   #include<stdio.h> #include<stdlib.h> #inclu ...

  10. 遇到了IE10不能登录的问题,很早就有解决方案了

    1..net 2.0 的程序,请打开项目,打开vs开发环境的工具菜单下的  Package Manager Console ,中文名:程序包管理控制台,在打开的控制台中输入如下命令:Install-P ...