概述:
基本原理是host的 Visual Studio调试器和guest的远程调试监视器 (msvsmon.exe) 之间的双向通信来实现调试 的,目前支持window身份验证和匿名调试两种,有一定区别如下:
(1) Windows身份验证远程调试必须要在调试机和被调试机上使用相同用户名和密码的Windows账户,且必须在同一域上或本地,否则两者之间无法进行通信,这样做是为了验证调试机的身份,配置和权限设置比较繁琐,不太实用。
(2) 匿名调试相对比较简单,易于快速搭建调试环境。
下面将主要讲述匿名调试.
前期准备工作:
- 将Host机器中远程调试监视器msvsmon.exe所在的文件夹拷贝guest系统里面,如目录C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger,不同安装路径会有差别。
或者在 Visual Studio的安装包中找到rdbgsetup.exe,针对不同guest系统做选择。
- guest的本地安全策略中的网络访问必须改为“经典,本地用户以自己的身份验证”,路径为控制面板->用户管理->本地安全设置->本地策略->安全选项->网络访问.
- 在guest系统中关闭防火墙、打开相应的调试端口(如4015)和把 msvsmon.exe设置为例外程序。
调试步骤:
- 在guest系统中运行msvsmon.exe,设置如下图:
- 在Host主机上基本配置如图: 当前设置Remote commnand是guest主机上待调试文件位置,是通过共享文件夹的方式实现的,也可以把Host的bin下文件拷贝到guest主机上任何地方,然后设置相关路径。
- 然后按F5即可进行调试了。
备注: 生成二进制文件和相关符号文件(*.pdb),必须保持一致,否则符号文件加载不上,断点无效。