使用 WinDbg 内核调试
看雪学院,笨笨雄译
安装程序
基础
挑选技术
取得更多信息
调试工具很强大,但是学习使用它们并不容易。特别对于驱动开发者使用的 和 这
两个内核调试器( 和 是用户态调试器)。本教程的目标是给予一个已经有其他调试工具使用经
验的开发者足够信息,使其能通过参考 调试工具的帮助文件进行内核调试。本文将假定开发者
熟悉一般 操作系统和进程的建立过程。
本文的重点是集成内核模式和用户态模式的图形化调试器 。 在脚本和自动化调试中更有用,并
且在资深程序员中拥有一定地位,但是本教程将集中讨论 ,只会偶尔提到 。
本文讨论的是 , 或以后的版本,而且目标电脑的处理器基于 架构。
对于 位平台,将不会特别提及。
总之,本教程由简单介绍调试器的安装开始,大体分成 部分,基础知识和选择技术。基础知识包括基本
调试命令和常用调试命令。选择技术是其他命令和在很多情况下都有用的调查方法。后者并不是调查象
!!"#""$%& 或者 "$" 的唯一方法。第一次阅读本教程,你可能会跳过
选择技术。你可以停止阅读本教程而转向微软调试器讨论组,也可以通过调试器的反馈 '! 解决更多的
问题。
安装程序
取得最新版!
取得最新版的调试器,并且有规律的更新它。这里并没有夸大最新版的价值,因为调试器会经常改进和修
复错误。你将能在下面网址下载:
(&&%)**!"+&!*(*,&*$*+$&!%-
主机与目标之间的连接
调试器有使用 $'!!或者 ./0 连接两台电脑的安装方案 。本教程不分析单操作系统
的本地调试(即在调试器运行的电脑上进行分析)。/ 台电脑(目标电脑,调试服务器,调试客户端)的
调试将会被简要的讨论。
在主机调试软件( 或者 )和目标操作系统之间,是一个协同处理的调试过程。每一部分都必须
做些什么。更明确地,不是作为一个“管理操作系统”,象客户和一个真正操作系统那样运行目标。
是一个调试软件,象目标操作系统的合作伙伴那样知道它在调试过程中的角色。在这种关系中,
从目标接收信息,并且向目标发送信息。这是一种有效的通信机制。
Kernel Debugging Tutorial © 2005 Microsoft Corporation
1