一、前期准备:
1. 安装VS2008
2. 安装VM8.0,在安装过程中勾选安装Integrated Virtual Debugger(有的时候安装之后vs2008不一定会出现VMware的工具栏,这是需要重新安装VMware。如果一直出现vs打开时提示“加载失败,是否移除”,这时需要打上vs2008补丁sp1然后再次重新安装VMware)
3. 创建一个windows操作系统的虚拟机
4. 在windows操作系统的虚拟机中安装VMTools
二、配置将要调试的虚拟机:
1. 虚拟机新建一个有管理员权限的帐号,帐号名必须与本机一样。必须设置密码,密码必须与本机同帐号的密码一样。(不然会一直在报 0x80004005的错误)
2. 修改计算机名,必须为网络上唯一。(这个不需要吧!?)
3. 关掉一切防火墙(包括主机和虚拟机里的)。
4. 修改网络安全选项:
Run->secpol.msc->本地策略->安全选项->网络安全:
Lan管理器身份验证级别,改为“发送LM和NTLM响应”,如图:
6. 增加本地共享信任:
IE->Internet选项->安全->本地Intarnet->站点->高级->添加file://*..host(这个不需要把!?)
7. 如果是vista/window7话,关闭UAC:
Run->msconfig->工具->更改UAC设置->调至最低
然后重启系统。
8. 如果是Realtek的网卡需要在“本地连接”里面将“大量传输减负”的特性去掉。
三、配置vs2008:
1. 打开vs2008发现在菜单栏多了条VMware的工作条
2. 点击上图最后一个按钮弹出如下对话框(我使用的是vm 8.0,只修改了下图中的前面两个和最后那一个也成功了的)
第一项为将要进行调试的虚拟机的.vmx文件。
第二项为将要进行调试的调试器,安装完成后默认的为32位的调试器。如需要需要调试的64位的程序,所以将这个调试器换为64位。(我觉得这个取决于虚拟机里的系统是多少位的)
第三项为远程调试器的名字,需要取成网络唯一。(这个不需要吧!?)
第四项为将要调试的程序,我的虚拟机为Windows7_X64,所以改为C*Ctrl.exe,
如果是调试普通的exe程序,直接使用默认的设置就可以了。
第五项为共享目录,如果需要可以进行修改,怎样修改有说明。
第六项为虚拟机的帐号和密码,不需要填写,在第一次进行调试的时候可以手动输入。
3.点中Pre-Debug Event弹出如下对话框
3.点中Pre-Debug Event弹出如下对话框
在Copy Files中将我们编译出来64位p11的.dll.ilk.sig三个文件copy到虚拟机的C:\windows\system32中,
这里不能使用相对路径!
上就是对虚拟机和本机vs2008的全部设置。现在使用 中的第一个按钮就可以进行下断点调试了。
注:如果本机的网卡是Realtek的,需要在”本地连接” 里面将“大量传输减负”的特性关闭。
补充:如果主机上没有msvsmon.exe,请在vs2008安装目录下找到Remote Debugger下,将对应rdbgsetup.exe安装一次即可,如果还是没有msvsmon.exe,可将rdbgsetup.exe其他电脑上安装,然后将安装文件拷贝回E:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger可使用。
文中蓝色字体为本人补充说明。
快捷操作:
坚其志,苦其心,劳其力,事无大小,必有所成。
@如有侵权,请作者本人尽快与我(chrayo#163.com)联系,我将及时删除侵权内容。