win8 内核调试

来源:互联网 发布:神华物资集团 知乎 编辑:程序博客网 时间:2024/06/06 03:01

由于最近需要调试win8下面驱动的一个bug,所以尝试了一下用windbg进行双机联调,发现VirtualKD v2.6版本对windows 8 Consumer Preview版的支持不好,用target里面的vminstall.exe可以安装成功,但是重启之后,win8就会不停的尝试修复~~,完全无法调试。具体原因未知。

无奈只好用最原始的双机联调的办法来试一下。

过程和调试win7类似。

1.  首先设置一下Virtual Machine Settings,创建一个Serial Port,使用named pipe,详细过程可以参考网上的其他文章 。

2.  在win8中,以管理员权限执行如下命令

[cpp] view plaincopy
  1. C:\Windows\system32>bcdedit /copy {current} /d "Windows 8 Debug"  
  2. 已将该项成功复制到 {945e8a3c-6a72-11e1-ab5a-eeb97f46a921}。  
  3.   
  4. C:\Windows\system32>bcdedit /debug {945e8a3c-6a72-11e1-ab5a-eeb97f46a921} on  
  5. 操作成功完成。  
  6.   
  7. C:\Windows\system32>bcdedit /dbgsettings serial debugport:1 baudrate:115200  
  8. 操作成功完成。  

3.  创建一个windbg的快捷方式,其命令行为

[html] view plaincopy
  1. "C:\Program Files\Debugging Tools for Windows (x86)\windbg.exe" -b -k com:port=\\.\pipe\com_1,baud=115200,pipe  


这样,重启之后,选择Windows 8 Debug启动入口,开启windbg,就可以连接上win8进行内核驱动调试了。

 

期待VirtualKD能够快点支持Win8。

另外,发现在Win8 Consumer Preview版本中,驱动的关机回调函数中对注册表的所有操作都是返回成功,但开机后注册表没有发生变化,比较奇怪,不知道是不是系统机制发生变化了。

 

新增:

VirtualKD 2.8支持win8了

0 0
原创粉丝点击