图书介绍
Windows高级调试PDF|Epub|txt|kindle电子书版本网盘下载
- (美)赫瓦特等著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111266396
- 出版时间:2009
- 标注页数:505页
- 文件大小:103MB
- 文件页数:525页
- 主题词:窗口软件,Windows
PDF下载
下载说明
Windows高级调试PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 概述1
第1章 调试工具简介1
1.1 泄漏诊断工具1
1.2 Windows调试工具集3
1.3 UMDH4
1.4 Microsoft应用程序验证器4
1.5 全局标志9
1.6 进程浏览器11
1.7 Windows驱动程序开发包12
1.8 Wireshark14
1.9 DebugDiag15
1.10 小结15
第2章 调试器简介16
2.1 调试器的基础知识16
2.1.1 调试器类型17
2.1.2 调试器命令18
2.1.3 调试器的配置19
2.1.4 通过内核态调试器重定向用户态调试器24
2.1.5 是否使用KD26
2.2 基本的调试任务26
2.2.1 键入调试命令27
2.2.2 解析调试器的提示信息27
2.2.3 配置和使用符号29
2.2.4 使用源文件38
2.2.5 分析命令40
2.2.6 修改上下文的命令60
2.2.7 其他的辅助命令67
2.2.8 示例68
2.3 远程调试70
2.3.1 Remote.exe70
2.3.2 调试服务器71
2.3.3 进程服务器与内核服务器73
2.3.4 远程调试中的符号解析74
2.3.5 远程调试中的源代码解析75
2.4 调试场景75
2.4.1 调试非交互式进程(服务或者COM服务器)76
2.4.2 在没有内核态调试器的情况下调试非交互式进程(服务或者COM服务器)77
2.5 小结77
第3章 调试器揭密78
3.1 用户态调试器的内幕78
3.1.1 操作系统对用户态调试器的支持78
3.1.2 调试事件的顺序83
3.1.3 控制来自调试器的异常和事件84
3.1.4 内核态调试器中的调试事件处理105
3.2 控制调试目标106
3.2.1 断点的工作原理107
3.2.2 内存访问断点的工作原理108
3.2.3 处理器跟踪109
3.2.4 实时调试中的线程状态管理109
3.2.5 通过用户态调试器来挂起线程112
3.3 小结113
第4章 符号文件与源文件的管理114
4.1 调试符号的管理114
4.1.1 公有符号的生成115
4.1.2 在符号库中存储符号117
4.1.3 在HTTP服务器上共享公有符号119
4.2 源文件的管理120
4.2.1 收集源文件信息120
4.2.2 源文件信息的使用122
4.2.3 不带源文件修订控制的源文件服务器123
4.3 小结125
第二部分 调试实践127
第5章 内存破坏之一——栈127
5.1 内存破坏的检测过程128
5.1.1 步骤1:状态分析128
5.1.2 步骤2:源代码分析129
5.1.3 步骤3:使用内存破坏检测工具133
5.1.4 步骤4:调整源代码133
5.1.5 步骤5:定义回避策略133
5.2 栈内存破坏133
5.2.1 栈溢出142
5.2.2 异步操作与栈顶指针147
5.2.3 调用约定的不匹配154
5.2.4 回避策略164
5.3 小结166
第6章 内存破坏之二——堆167
6.1 堆简介167
6.1.1 前端分配器168
6.1.2 后端分配器169
6.2 堆破坏181
6.2.1 使用未初始化状态181
6.2.2 堆的上溢与下溢185
6.2.3 堆句柄的不匹配195
6.2.4 重用已删除的堆块199
6.3 小结205
第7章 安全206
7.1 Windows安全概述206
7.1.1 安全标识符207
7.1.2 访问控制列表208
7.1.3 安全描述符209
7.1.4 访问令牌211
7.2 安全信息的来源213
7.2.1 访问令牌213
7.2.2 安全描述符215
7.3 如何执行安全检查217
7.4 在客户端/服务器程序中传播标识218
7.4.1 远程认证与安全支持提供者接口218
7.4.2 模拟级别220
7.5 系统边界上的安全检查220
7.6 安全故障的分析221
7.6.1 本地安全故障221
7.6.2 延迟初始化中的安全问题226
7.6.3 身份模拟的潜在安全问题231
7.6.4 分布式COM错误232
7.6.5 扩展命令!token的故障241
7.6.6 在Windows XP SP2上安装了某个程序后发生DCOM激活故障243
7.6.7 通过跟踪工具来分析安全故障247
7.7 小结248
第8章 进程间通信249
8.1 通信机制249
8.2 本地通信分析250
8.2.1 LPC的背景知识251
8.2.2 调试LPC通信251
8.2.3 调试本地DCOM以及MSRPC通信254
8.3 远程通信分析260
8.3.1 RPC故障测定状态信息的使用260
8.3.2 网络流量分析270
8.3.3 打破调用路径275
8.4 一些其他的技术信息277
8.4.1 远程认证277
8.4.2 RPC扩展错误信息278
8.4.3 其他工具278
8.5 小结279
第9章 资源泄漏280
9.1 什么是资源泄漏280
9.2 高层流程280
9.2.1 步骤1:找出潜在的资源泄漏281
9.2.2 步骤2:什么东西正在泄漏282
9.2.3 步骤3:初步分析282
9.2.4 步骤4:资源泄漏检测工具282
9.2.5 步骤5:制定回避策略283
9.3 资源泄漏的可重现性283
9.4 句柄泄漏284
9.4.1 存在泄漏的程序285
9.4.2 步骤1和步骤2:它是不是一个句柄泄漏286
9.4.3 步骤3:初始分析287
9.4.4 更复杂的程序290
9.4.5 步骤4:利用泄漏检测工具292
9.4.6 句柄注入与!htrace298
9.4.7 步骤5:为句柄泄漏制定回避策略300
9.5 内存泄漏301
9.5.1 一个简单的内存泄漏301
9.5.2 步骤1和步骤2:是否存在泄漏,以及泄漏的是什么资源302
9.5.3 步骤3:使用内存检测工具303
9.5.4 步骤4:回避策略322
9.6 小结322
第10章 同步323
10.1 同步的基础知识323
10.1.1 事件323
10.1.2 临界区325
10.1.3 互斥体329
10.1.4 信号量330
10.2 高层流程331
10.2.1 步骤1:识别问题的征兆331
10.2.2 步骤2:转储所有线程331
10.2.3 步骤3:分析线程中的同步问题332
10.2.4 步骤4:修复问题334
10.2.5 步骤5:制定回避策略334
10.3 同步情况334
10.3.1 死锁334
10.3.2 第1种孤立临界区情况——异常338
10.3.3 第2种孤立临界区情况——线程结束343
10.3.4 DllMain函数的注意事项347
10.3.5 锁竞争353
10.3.6 管理临界区358
10.4 小结361
第三部分 高级主题363
第11章 编写定制的调试扩展363
11.1 调试扩展简介363
11.2 调试扩展示例365
11.2.1 调试扩展模型369
11.2.2 调试扩展示例的需求371
11.2.3 头文件和代码组织372
11.2.4 调试扩展的初始化374
11.2.5 调试会话状态的变化379
11.2.6 KnownStructOutput379
11.2.7 退出调试扩展379
11.2.8 Help命令的实现380
11.2.9 dumptree命令的实现381
11.2.10 KnownStructOutput函数的实现384
11.2.11 取消命令的实现387
11.2.12 版本389
11.2.13 调试扩展的构建389
11.3 小结390
第12章 64位调试391
12.1 Microsoft 64位系统391
12.1.1 操作系统简介392
12.1.2 在WOW64中运行的32位程序393
12.2 Windows x64带来的变化395
12.2.1 第1章——调试工具简介396
12.2.2 第2章——调试器简介397
12.2.3 第3章——调试器揭密407
12.2.4 第5章——内存破坏之一——栈411
12.2.5 第6章——内存破坏之二——堆411
12.2.6 第7章——安全412
12.2.7 第8章——进程间通信413
12.2.8 第11章——编写定制的调试扩展414
12.3 小结414
第13章 事后调试415
13.1 转储文件基础415
13.1.1 通过调试器来生成转储文件417
13.1.2 通过ADPlus来生成转储文件420
13.1.3 内核态转储文件的创建421
13.2 转储文件的使用423
13.2.1 转储文件的分析:访问违例424
13.2.2 转储文件的分析:句柄泄漏425
13.3 Windows错误报告429
13.3.1 Dr.Watson429
13.3.2 Windows错误报告的系统架构434
13.4 企业错误报告446
13.4.1 设置企业错误报告447
13.4.2 通过企业错误报告来报告错误449
13.5 小结451
第14章 功能强大的工具452
14.1 调试诊断工具452
14.1.1 分析内存泄漏或者句柄泄漏453
14.1.2 编写定制的分析脚本455
14.2 扩展命令!analyze457
14.2.1 故障程序457
14.2.2 分析结果458
14.2.3 故障的跟进人员462
14.3 小结463
第15章 Windows Vista基础464
15.1 第1章——调试工具简介464
15.2 第2章——调试器简介465
15.2.1 用户访问控制的副作用465
15.2.2 启用内核态调试器467
15.2.3 地址空间布局的随机化468
15.3 第6章——内存破坏之二——堆469
15.4 第7章——安全性473
15.4.1 用户访问控制474
15.4.2 调试器中的UAC475
15.4.3 注册表和文件虚拟化479
15.5 第8章——进程间通信481
15.6 第9章——资源泄漏482
15.7 第10章——同步482
15.7.1 轻量读写锁482
15.7.2 条件变量483
15.7.3 单次初始化484
15.7.4 增强线程池484
15.8 第11章——编写定制的调试扩展484
15.9 第13章——事后调试485
15.10 小结487
附录A 应用程序验证器的测试设置488