windbg + vmvare 配置调试驱动

来源:互联网 发布:焦作青峰网络 编辑:程序博客网 时间:2024/05/18 00:56

这里呢我还是建议先拿来老的东西看看,自己动手实践下,配置这个调试环境,在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,命令如下:

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. bcdedit /dbgsettings serial baudrate:115200 debugport:1  
该处的“1”,对应com口1。

4,复制一个开机选项,命名为“DebugEntry”,可任意命名。命令如下:

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. bcdedit /copy {current} /d DebugEntry  


5,增加一个开机引导项

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. bcdedit /displayorder {current} {ID}  
注:这个ID要填写上一条命令生成的一串数字或字母。


6,激活debug

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. bcdedit /debug {ID} ON  

注:ID以生成的数字或字母串代替。


7,重启虚拟机,选择“DebugEntry[debug]”作为启动项。


8,选择好启动项后,立即回到主机,启动windbg。只有在GuestOS启动过程中,才能连接上。



说这么多也不如你自己亲自试试!



1 0