visual studio 2010远程调试.NET代码实践

本地主机:visual studio 2010 + win7 64 bit

远程主机:  window server 2008 R2 64 bit +  visual studio 2010 remote debugger (64bit)


1. 原理

远程主机运行 visual studio 2010 remote debugger, 该程序作为调试服务程序监听调试客户端的请求

本地主机选择项目代码,选择主菜单debug->attach process, 选择远程主机,列出远程主机所有进行的进程,找到要调试的进程attach,这个过程即为本地调试器向远程

主机的调试服务程序建立双向连接,连接成功后即可设置断点,进行调试

visual studio 2010远程调试.NET代码实践_第1张图片

2. 原理很简单,实践很坑爹

   (1) 若本地主机和远程主机没有域之类的关系,则必须要在本地和远程都有相同的管理员账号和密码

   (2) 用该管理员账号登陆远程主机, 以管理员身份运行调试器,若调试32位的则运行32的调试器

   (3) 用同样管理员账号,在本地主机打开visual studio 2010, 选择要调试的project, 主菜单debug->attach to process,在弹出的对话框中,选择qualifier,选择后找到远程主机,即显示出远程主机的进程,选择调试的process, attach

  FAQ:

      在attach to process后选择远程主机,提示登录失败,确认账号密码是否一样,可以尝试用net use命令测试,注意qualifier显示的都是主机名而非IP名,net use要用主机名测试

     在attach to process时提示无法调试32位,需要运行32位debugger, 是远程主机需要运行32位(x86)调试器

     在attach to process时visual studio 2010提示 no symobol not founded, 在debug->options里设置symbol的路径,这个symbol路径应该在远程主机process的pdb文件所在目录


笔者在实践中磕磕碰碰了大半天才弄通,希望能让其他人少走弯路,远程调试还是很强大,不用在本地部署就可以直接调试,很适合对运行环境依赖较大的情况以及团队开发。

    

 

你可能感兴趣的:(.Net)