WinDebug用法详解.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
WinDebug用法详解

第第30章 章 WinDBG 用法用法详解详解 第第 章章 用法用法详解详解 WinDBG 是个非常强大的调试器,它设计了极其丰富的功能来支持各种调试任务,包括用户 态调试、内核态调试、调试转储文件、远程调试等等。WinDBG 具有非常大的灵活性和可扩展性, 用来满足各种各样的调试需求,比如用户可以自由定义调试事件的处理方式,编写调试扩展模块 来定制和补充 WinDBG 的调试功能。 尽管 WinDBG 是个典型的窗口程序,但是它的大多数调试功能还是以手工输入命令的方式来 工作的。目前版本的 WinDBG 共提供了 20 多条标准命令,140 多条元命令 (Meta-commands ), 和难以计数的大量扩展命令。学习和灵活使用这些命令是学习WinDBG 的关键,也是难点。 上一章我们从设计的角度分析了 WinDBG ,本章将从使用 (用户)的角度介绍WinDBG 。我 们先介绍工作空间的概念和用法 (第1 节),然后介绍命令的分类和不同种类的命令提示符 (第2 节)。第 3 节介绍不同的调试模式,也就是如何与不同特征的调试目标建立调试会话。第4 节介绍 上下文的概念和在调试时应该如何切换和控制上下文。第5 节介绍调试事件和如何定制调试事件 的处理方式。从第6 节到第 9 节我们将分别介绍如何在 WinDBG 中完成典型的调试操作,比如控 制调试目标 (第6 节)、设置断点 (第7 节)、观察栈 (第8 节)以及如何观察和修改数据 (第9 节)。 30.1 工作空间工作空间 工作空间工作空间 WinDBG 使用工作空间 (Workspace )来描述和存储一个调试项目的属性、参数、以及调试器 设置等信息。其功能类似于集成开发环境的项目文件。 30.1.1 分类分类 分类分类 WinDBG 定义了两种工作空间,一种称为缺省的工作空间 (Default Workspace ),另一种称为 命名的工作空间 (Named Workspace )。当没有明确使用某个命名的工作空间时,WinDBG 总是使 用缺省的工作空间,因此缺省的工作空间也叫隐含的 (implicit )工作空间,命名的工作空间也叫 显式的 (explicit )工作空间。 WinDBG 安装时就预先创建了一系列缺省的工作空间,分别是: 基础工作空间 (base workspace ),当调试会话尚未建立,WinDBG 处于模糊状态时,它 会使用基础工作空间。 缺省的内核态工作空间(default kernel-mode workspace ),当在WinDBG 中开始内核调试, 但是尚未与调试目标建立起联系时,WinDBG 会缺省使用这个工作空间。 缺省的远程调试工作空间 (remote default workspace ),当通过调试服务器 (DbgSrv 或 KdSrv )进行远程调试时,WinDBG 会缺省使用这个工作空间。 特定处理器的工作空间 (processor-specific workspace ),在进行内核调试时,当WinDBG 与调试目标建立起联系,并知道对方的处理器类型后,WinDBG 会缺省使用其对应处理 器类型的工作空间。典型的处理器类型有x86 、AMD64 、Itanium 等。 缺省的用户态工作空间 (default user-mode workspace ),当WinDBG 正在附加到一个用 户态进程的过程中时,它会使用这个工作空间。 1 相对于可执行文件的缺省工作空间,当在用户态调试时,一旦WinDBG 知道了调试目标 的可执行文件名后 (对于附加到已经运行的进程,是附加到进程后,对于调试新运行的 程序,那么是选定程序文件后),它就会使用这个可执行文件所对应的工作空间,如果这 个工作空间已经存在,那么它就用存在

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档