驱动程序运行在内核模式下,很难像一般Win32程序一样进行调试。一般来说,驱动程序的调试主要有两个途径:
- 在关键的地方打印出调试信息
- 调用内核调试工具,诸如Softice或WinDbg等,进行内核调试
对于第一种方法,用到的是KdPrint,它并不是函数,而是宏,类似于MFC下的TRACE。编写驱动程序时,应尽量使用KdPrint,因为该宏只在Checked版本(即Debug)下起作用,而在Free版本(即Release)下不起作用。
注意:因为KdPrint为宏,使用时要用双括号
对于第二种方法,在这里介绍一个免费的内核调试工具——DbgView。它可以查看监听内核和Win32上层应用程序发送的调试信息。如果接收的信息太多时,用户还可以根据自己的需要过滤掉无用的调试信息。