目录
前言
因为在Windows 10的 WDK 1507 及更高版本中,不能用 Visual Studio 进行调试。
所以本篇还是使用WinDBG进行驱动源码级调试,具体使用WinDBG Preview版本。
一、驱动程序build,部署
驱动程序在主机中,使用Visual Studio build、部署。
1.Project build之前,配置调试目标机:
2.设置驱动安装:
3.Build ,然后点"Deploy":
这种操作之后,驱动文件复制目标机到的下列位置:
并且驱动会被自动安装。(如果有上次的旧驱动导致长时间不能完成部署,可手动卸载该驱动,然后再试。)
4.怎样查看驱动是否被安装?
在目标机上,打开设备管理器,并按连接列出设备:
二、驱动程序调试
1.在主机上,打开WinDBG Preview:
打开它的“File”菜单:选择“Attach to kernel”,进行如下设置:关于其中的Port, Key, IP请参照我的另一篇文章:https://blog.youkuaiyun.com/Trail2009/article/details/120629132
2.点上面页面的"OK",进入调试页面:
3.打开Source code:
4.右键设置断点:
5.点“Go”让程序跑起来:
6.在目标机的设备管理器,先点“禁用设备”,再点“启用设备”:
7.这时回到主机,会发现前面设置的断点已生效:
8.再按“Go”,程序将停在断点处:
此后可像调试一般程序般的单步调试。
三、Trace信息查看
1.驱动程序中的如下的trace信息如何查看?
2.可在目标机中使用Traceview工具查看:
3.启动Traceview,并在它里面建立一个session,选择使用PDB文件的方式:
4.再把上述的“禁用驱动”,”启用驱动“执行一遍,在Traceview中,可得到如下Trace信息: