1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录 第1篇 绪论 1 第1章 软件调试基础 3 1.1 简介 3 1.1.1 定义 3 1.1.2 基本过程 5 1.2 基本特征 6 1.2.1 难度大 6 1.2.2 难以估计完成时间 7 1.2.3 广泛的关联性 7 1.3 简要历史 8 1.3.1 单步执行 8 1.3.2 断点指令 10 1.3.3 分支监视 11 1.4 分类 12 1.4.1 按调试目标的系统环境分 12 1.4.2 按目标代码的执行方式分 12 1.4.3 按目标代码的执行模式分 13 1.4.4 按软件所处的阶段分 13 1.4.5 按调试器与调试目标的相对位置分 14 1.4.6 按调试目标的活动性分 14 1.4.7 按调试工具分 15 1.5 调试技术概览 15 1.5.1 断点 15 1.5.2 单步执行 16 1.5.3 输出调试信息 17 1.5.4 日志 17 1.5.5 事件追踪 18 1.5.6 转储文件 18 1.5.7 栈回溯 18 1.5.8 反汇编 19 1.5.9 观察和修改数据 19 1.5.10 控制被调试进程和线程 19 1.5.11 学习调试技术的意义 19 1.6 错误与缺欠 20 1.6.1 内因与表象 20 1.6.2 谁的Bug 21 1.6.3 Bug的生命周期 22 1.6.4 软件错误的开支曲线 22 1.7 与软件工程的关系 24 1.7.1 调试与编码的关系 24 1.7.2 调试与测试的关系 25 1.7.3 调试与逆向工程的关系 25 1.7.4 调试尚未得到应有的重视 26 1.8 本章总结 26 参考文献 26 第2篇 CPU的调试支持 27 第2章 CPU基础 29 2.1 指令和指令集 29 2.1.1 基本特征 30 2.1.2 寻址方式 31 2.1.3 指令的执行过程 31 2.2 IA-32处理器 32 2.2.1 80386处理器 33 2.2.2 80486处理器 33 2.2.3 奔腾处理器 34 2.2.4 P6系列处理器 35 2.2.5 奔腾4处理器 37 2.2.6 Core 2系列处理器 37 2.3 CPU的操作模式 38 2.4 寄存器 40 2.4.1 通用数据寄存器 40 2.4.2 标志寄存器EFLAGS 41 2.4.3 MSR寄存器 42 2.4.4 控制寄存器 42 2.4.5 其他寄存器 45 2.4.6 64位模式时的寄存器 46 2.5 理解保护模式 46 2.5.1 任务间的保护机制 47 2.5.2 任务内的保护 47 2.5.3 特权级 48 2.5.4 特权指令 49 2.6 段机制 50 2.6.1 段描述符 50 2.6.2 描述符表 52 2.6.3 段选择子 52 2.6.4 观察段寄存器 53 2.7 分页机制(Paging) 55 2.7.1 页目录(Page Directory) 56 2.7.2 页表(Page Table) 57 2.7.3 页目录指针表(Directory-Pointer Table) 57 2.7.4 地址翻译 57 2.7.5 使用WinDBG观察分页机制 58 2.7.6 4MB内存页的情况 60 2.7.7 WinDBG的有关命令 61 2.8 系统概貌 62 2.9 本章总结 64 参考文献 64 第3章 中断和异常 65 3.1 概念和差异 65 3.1.1 中断 65 3.1.2 异常 66 3.1.3 比较 67 3.2 异常的分类 67 3.2.1 错误类异常 67 3.2.2 陷阱类异常 68 3.2.3 中止类异常 68 3.3 异常例析 69 3.3.1 列表 69 3.3.2 错误代码 70 3.3.3 示例 70 3.4 中断/异常优先级 72 3.5 中断/异常处理 73 3.6 本章总结 74 参考文献 74 第4章 断点和单步执行 75 4.1 软件断点 75 4.1.1 感受INT 3 75 4.1.2 在调试器中设置断点 76 4.1.3 断点命中 77 4.1.4 恢复执行 79 4.1.5 特别用途 79 4.1.6 断点API 80 4.1.7 系统对INT 3的优待 80 4.1.8 观察调试器写入的INT 3指令 82 4.1.9 归纳 83 4.2 硬件断点 83 4.2.1 调试寄存器概览 84 4.2.2 调试地址寄存器 84 4.2.3 调试控制寄存器 85 4.2.4 指令断点 87 4.2.5

文档评论(0)

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

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

1亿VIP精品文档

相关文档