前言:
有时候我们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
VS 开发工具中的Remote Debug 功能远程调试程序经验分享的更多相关文章
-
[Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.
前言: 有时候我们Dev(开发人员)需要debug tester(测试人员)或者customer(客户)的环境,可tester的机器上没有Code,是不是有点着急? 而且是多版本应用且tester 发 ...
-
Eclipse—怎样为Eclipse开发工具中创建的JavaWebproject创建Servlet
在博客<在Eclipse中怎样创建JavaWebproject>中图文并茂的说明了Eclipse中创建JavaWebproject的方法,本篇博客将告诉大家怎样为Eclipse开发工具中创 ...
-
ueditor1.4.3在.net环境下的vs开发工具中集成经验
Ueditor是个非常不错的在线富文本编辑器,几个项目一直使用它.近期想更新版本号.发现新版1.4.3与旧版的部署方式全然不一样了.官网文档介绍的是直接放在iis下的部署说明,没有提到在vs开发工具中 ...
-
报表开发工具中开放的部分图表js接口列表
1.. 描述 报表开发工具FineReport 8.0版本中开放了部分图表js接口,在具体应用的过程中很多人都不知道这些接口到底有什么作用,该怎么应用,所以根据我自己的应用在下面归纳了这些新开放js接 ...
-
报表开发工具中mysql数据库连接编码转化失效解决方案
1. 问题描述 在报表开发工具FineReport中,mysql数据库连接通过数据连接编码转换进行编码的转换,在通过报表录入往数据库中录入中文数据的时候,总是出现乱码,这个该怎么解决呢? 2. 解决方 ...
-
详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )
写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题. 稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...
-
如何使用IDEA开发工具中右键中的Git图形化工具
首先,你的项目一定是git服务器上面down下来的,下面来演示如何使用IntelliJ IDEA 开发中在鼠标右键中提供的一个非常方便的图形化Git管理工具: 这里使用的IDEA开发工具的版本是 In ...
-
微信小程序开发工具中快捷键
微信小程序开发工具表面上是没有更多的样式类的工具,例如缩进.隐藏代码什么的. 现在总结一下小程序开发工具常用的一些快捷键: 格式调整 Ctrl+S:保存文件Ctrl+[, Ctrl+]:代码行缩进Ct ...
-
ios开发总结,日常开发:ios开发功能收集,经验分享等等(不断更新中。。。)
github资料学习和下载地址:https://github.com/niexiaobo/MyDailyDevelopmentNotes ios 学习模块 ios APP 日志管理的重要性: 一个功能 ...
随机推荐
-
Python基于pandas的数据处理(一)
import pandas as pd, numpy as np dates = pd.date_range(', periods=6) df = pd.DataFrame(np.random.ran ...
-
《C与指针》第五章练习
本章问题 1.这个表达式的类型和值为多少? (/) answer:The cast is applied to the result of the division,and because both ...
- Visual Studio与Eclipse与IntelliJ快捷键对比
-
零基础学习云计算及大数据DBA集群架构师【Linux系统配置及网络配置2015年12月30日周三】
/Mon *************摘要************** 计划任务 )一次性计划任务 服务:atd 命令:at 服务存放文件:/etc/init.d/atd 系统配置文件:/etc/at. ...
-
RedisRepository分享和纠错
.mytitle { background: #2B6695; color: white; font-family: "微软雅黑", "宋体", "黑 ...
-
android四大组件学习总结以及各个组件示例(2)
上篇博文讲解了activity.content provider,此篇博文来仔细总结service.broadcast receiver: 3. Service >什么是服务?>windo ...
-
layUI 实现自定义弹窗
需求描述:点击表格中的数据,弹出一张具体信息表.描述的不是很清楚,放效果图,就明白了,上图 放心,能看到的数据,都不是生产数据,我造的假数据,但是功能效果就是这样,点击列表中的一行,弹出某些要展示的信 ...
-
[Swift]LeetCode391. 完美矩形 | Perfect Rectangle
Given N axis-aligned rectangles where N > 0, determine if they all together form an exact cover o ...
-
一个考验c语言和数据结构功底的小项目
想测一下自己c语言学习水平的朋友可以做一下这个项目试试,能做出来说明c语言已经入门了 #include<stdio.h> #include<stdlib.h> #inclu ...
-
遇到了IE10不能登录的问题,很早就有解决方案了
1..net 2.0 的程序,请打开项目,打开vs开发环境的工具菜单下的 Package Manager Console ,中文名:程序包管理控制台,在打开的控制台中输入如下命令:Install-P ...