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


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

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

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

 

使用场景:微信

假设如今有AB两台机器,其中ADev的开发server(这里是在win server环境去开发)装着Visual Studio以及CodeB机器上是Tester部署着咱们的应用ide

 

第一种方式: Windows Authenticationpost

 

1、在A机器上的Visual Studio安装目录下找到Common7\IDE\Remote Debugger文件夹并将其CopyB机器上。以下图:测试

 

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

 

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

 

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

 

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

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

 

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

 

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

最后重要的一点:采用Windows Authentication的话,两台机器的帐户名和密码要是同样,若是遇到不一致的状况,能够经过新建用户或者修改密码的方式来解决。

 

第二种: No Authentication

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

 出现一下内容就对了:

二、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

分类: 工做经验

好文要顶 关注我 收藏该文  

一枝花算不算浪漫

相关文章
相关标签/搜索