[Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.
[Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.
前言:
有时候我们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
分类: 工作经验
好文要顶 关注我 收藏该文
- [Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.
- [Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.
- VS 开发工具中的Remote Debug 功能远程调试程序经验分享
- 8086汇编语言自学经验分享 使用debug跟踪程序,进行调试
- spark远程debug之调试spark on yarn 程序(基于CDH平台,1.6.0版本)
- VS 2008 下调试PCL程序出现计算机丢失PCl_common_debug.dll,调试程序出现无法定位到MSVCP90D.dll解决办法
- VS2013 利用msvsmon远程调试发布到服务器IIS上程序环境配置详解
- 8086汇编语言自学经验分享 用debug加载程序后,可以使用u命令查看源代码
- 解决在VS(winform)程序中无法在调试时修改代码的问题(也就是“编辑并继续”功能无效)
- VS2013 利用msvsmon远程调试发布到服务器IIS上程序环境配置
- 【经验随笔】Java程序远程调试定位特定运行环境上出现的问题
- 远程调试Java程序,远程Debug
- vs2012远程调试功能的改进
- vs2012远程调试功能的改进
- 8086汇编语言自学经验分享 在使用debug跟踪程序时,遇到Int 21使用P命令
- VS2013 利用msvsmon远程调试发布到服务器IIS上程序环境配置详解
- VS 程序调试--Debug和Release区别
- VS中调用DLL进行测试;vs进行远程调试;python中进行debug调试需要的文件
- 转:vs2012远程调试功能的改进
- vs2012远程调试功能的改进