第5章 Windows调试工具入门-3.pdf

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
http://www.DbgT/ Windows 调试工具入门-3 基本调试操作 http://www.DbgT 一、 调试器命令窗口 1、简介 使用Windows 调试工具进行调试,大部分和调试器之间的交互都是通过调试器命令 窗口来进行的。命令的输入、输出都是在调试器命令窗口中显示出来。对WinDbg 来说, 调试器命令窗口是名为”Command”的窗口;对于KD、CDB 和NTSD 来说,整个命令行窗 口就是调试器命令窗口。这里主要介绍WinDbg 中的调试器命令窗口。 一般来说WinDbg 运行之后都会打开一个标题为Command 的子窗口,在没有调试目 标的时候,这个窗口是不能接受输入输出的,这时WinDbg 处于静止模式,只有在打开 调试目标之后,才能够使用它和调试器交互。 窗口分为三个部分:  位于上部的面积最大的是命令输出窗口。所有的命令输出、目标程序的调试信 息输出等等都会在里面显示出来。上一篇中介绍的调试器日志中记录的就是显 示在这里的内容。  下半部分左边是提示符窗口。这里通过提示符能够快速知道调试器目前的状态。 上图中0:000 ,冒号前的数字表示当前的进程号,同时调试多个进程时,每个 进程都会被指派一个进程号;冒号后的000 表示线程号。 进行内核调试时,如果是单处理器系统,提示符是kd的形式;如果是多处理 器系统,则是0: kd的形式,前面的0 表示处理器号。 http://www.DbgT/ http://www.DbgT/ 提示符还可能是*BUSY*这样的字符串,以表示调试器正忙。也可以通过命令来 自定义提示符。  下半部分右边是命令输入窗口。需要执行的命令就在这里输入。 调试器命令窗口中输入命令时可以使用一些快捷操作:  上下方向键可以查找先前的命令。  ESC 键用于清除当前行的命令。  TAB 键用于自动补完命令。例如一些符号可以只输入一部分,然后通过按下TAB 一次或多次来找到需要的符号。  鼠标右键点击命令窗口,可以将剪贴板中的内容粘贴到命令输入框中。  直接按下ENTER 键重复上一条命令。这个功能在WinDbg 中可以通过命令来打 开或关闭。  如果某条命令产生了很长的输出,可以按下CTRL+BREAK 来中断它。 二、 控制调试目标的执行 这里的控制目标执行,主要是指如何让运行中的目标中断到调试器中,以及控制中断 的目标如何继续执行。 1. 中断调试目标 当调试目标处于运行状态时,WinDbg 是不能输入命令或者对它进行操作的。可以通过 按下CTRL+BREAK 或者 点击工具栏的 按钮来中断它。下面我们继续用上一篇中的 TestDebug1 项目来说明。修改TestDebug1.cpp 如下: #include stdafx.h #include stdio.h int main(int argc, char* argv[]) { int i = 0; while( 1) { printf( TestDebug1.cpp:%d\r\n, i); } return 0; } 为了方便,这次使用Debug 选项来重新编译它,这样就不用再设置编译选项和WinDbg 选项来查看符号了。使用WinDbg 菜单的File-Open Executable…打开TestDebug1.exe ,中断 下来之后F5 继续运行。由于是个死循环,所以目标不会自己停止下来,可以看到WinDbg http://www.DbgT/

文档评论(0)

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

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

1亿VIP精品文档

相关文档