被围观了 4,014 次

windows shell扩展不像一般的应用程序,调试比较麻烦,因此建立远程调试是必须的,我自己写了个windows shell namespace extension程序(把sftp服务器上的目录映射到windows的桌面名字空间)。下面我据悉讲讲如何搭建一个远程调试环境:

目标机:运行被调试程序的那台电脑;一般使用虚拟机。
调试机:运行vs2008的那台电脑; 一般使用物理机。

一、VMware:

如果目标机器是虚拟机,那么最好安装Vmware Tools,菜单“虚拟机-->安装VMware Tools”,如果报“更新服务器的证书错误,请检查你的网络设置或与你的系统管理员联系”错误而不能安装,那么按如下方式操作进行安装:找到vmware安装目录下的文件VMware Tools 6.0.iso(比如我的机器这个文件位于目录C:\Program Files\VMware Workstation 7\Tool下),通过winrar把它解压并拷贝到虚拟机里进行安装(运行里面的setup.exe),最后重启。这样主机与虚拟机文件传送直接采用粘贴拷贝就行了。

二、VS2008远程调试:

1、在目标机上安装远程调试器: 解压vs2008的iso文件或者安装光盘目录Remote Debugger\x86下的文件rdbgsetup.exe,并拷贝到被调试机器里进行安装。

在目标机上执行命令:secpol.msc,进入本地安全设置画面,然后找到“本地策略-->安全选项-->网络访问:本地账户的共享和安全模式”,双击它并修改为“经典 - 本地用户以自己的身份验证”。

2、在目标机上启动Remote Debugger:开始-->程序-->Microsoft Visual Studio 2008-->Visual Studio Tools-->Visual Studio 2008 Remote Debugger。

3、在调试机上,起动vs2008,把项目编译成Debug版,然后把编译后的程序拷贝到目标机上。(主意要配置参数:Project Properties -> Configuration Properties -> C/C++, 'Debug Information Format' is set to 'Program Database/ Zi')

4、开始调试:vs2008菜单“Debug-->Attach to Process...”,在弹出的窗口里,Transport中选择Default,Qualifier中输入目标机的Ip地址或者主机名后回车。这时会列出目标机上进程。我选择explorer.exe进程,因为我要调试shell扩展程序,然后点击“Attach”按钮。此后可以设置断点,在目标机上起动程序,单步运行等进行调试了。

附录、Advance Installer:

安装Advance Installer安装包制作工具(从这里下载:http://www.onlinedown.net/soft/45832.htm),然后安装;

启动:开始-->所有程序-->工具-->安装工具-->Advance Installer-->Advance Installer,菜单“文件-->打开”,定位打开文件D:\vs2008\moodisk\zh_CN\SetupPackage\moodisk.aip,然后直接菜单“工程-->构建”,构建完了之后浏览安装包:菜单“工程-->打开输出文件夹”。

 
目前有0条回应
Comment
Trackback
你目前的身份是游客,请输入昵称和电邮!

Verify Code   If you cannot see the CheckCode image,please refresh the page again!