这里呢我还是建议先拿来老的东西看看,自己动手实践下,配置这个调试环境,在VS2015中可以通过编译器直接和虚拟机链接,但是具体的怎么实现的还是要通过原来的配置过程了解,所以,这里就写下原来的双机调试!
环境:本机 Win7 x64
虚拟机: win7 32 (这里选择32是因为避免发生一些bug,省的解决了,还有人说本机和虚拟机的版本最好一样,反正能配置完成,不影响开发和调试就好了)
本机安装:windbg 下载地址:http://pan.baidu.com/s/1bpzOtzx
安装完成后
在桌面上添加一个windbg的快捷方式;
右键该快捷方式,打开“属性”对话框,在目标一栏的末尾添加“ -b -k com:pipe,port=\\.\pipe\com_1,resets=0”。
点击确定,windbg完成!
虚拟机: 这里说一下,默认虚拟机是安装的 打印机 为第一串行端口,因为驱动调试的时候需要windbg通过创建串行端口里面的管道来双机连接,所以一般创建新的串行端口是 端口2,端口2,端口2 ,所以有些windbg会显示等待连接,但是虚拟机已经正常启动了,解决方法是:删除打印机的串行端口,重新添加新的串行端口,这里默认为端口1了,
虚拟机配置
1,打开相应的虚拟机,选择“编辑虚拟机设置”,打开虚拟机设置对话框,如下
2,观察“虚拟机设置”这个对话框的“硬件”->“设备栏”,看看是否有“打印机”或“Printer”,如果有,则删除该设备。
3,选择“添加”,然后选择“串行端口”,然后选择“使用命名管道”,并按如下设置
注:
1)使用命名管道,名字默认即可。
2)另一端选应用程序,即链接windbg。
3)IO模式,可选可不选。
4)完成后,需要确认一下新增的设备是“com1”(如果是中文界面,显示“串行端口”)。为对比,非com1时,显示“串行端口2”。
如果在这个地方,COM口编号不对,后续打开windbg,会显示“debuggee not connected”。
这样虚拟机里面的配置完成!
接着就是虚拟机里面了,原来的驱动程序运行在XP系统中,所以在C:\下会找到boot.ini文件,可以通过修改这个配置文件把系统改为调试模式,具体的方法大家就自己百度吧!
win7里面就没有这个配置文件了,WIN+R 打开运行输入msconfig打开启动配置对话框设置调试
我这里有两个,这是因为我通过命令行添加了一个,具体的方法在下面,选择 高级选项 - 调试打钩,端口也打钩
这里还有另一种方法,新建一个调试入口:
1,以管理身份打开“cmd”。
2,输入“bcdedit”
3,设置端口1,命令如下:
- bcdedit /dbgsettings serial baudrate:115200 debugport:1
该处的“1”,对应com口1。
4,复制一个开机选项,命名为“DebugEntry”,可任意命名。命令如下:
- bcdedit /copy {current} /d DebugEntry
5,增加一个开机引导项
- bcdedit /displayorder {current} {ID}
注:这个ID要填写上一条命令生成的一串数字或字母。
6,激活debug
- bcdedit /debug {ID} ON
注:ID以生成的数字或字母串代替。
7,重启虚拟机,选择“DebugEntry[debug]”作为启动项。
8,选择好启动项后,立即回到主机,启动windbg。只有在GuestOS启动过程中,才能连接上。
说这么多也不如你自己亲自试试!