图书介绍

软件调试修炼之道PDF|Epub|txt|kindle电子书版本网盘下载

软件调试修炼之道
  • (美)布彻著,曹玉琳译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115252647
  • 出版时间:2011
  • 标注页数:158页
  • 文件大小:30MB
  • 文件页数:167页
  • 主题词:调试软件

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件调试修炼之道PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 问题的核心2

第1章 山重水复疑无路2

1.1 调试不仅是排除缺陷2

1.2 实证方法4

1.3 核心调试过程5

1.4 先澄清几个问题6

1.4.1 你知道要找的是什么吗6

1.4.2 一次一个问题7

1.4.3 先检查简单的事情7

1.5 付诸行动8

第2章 重现问题9

2.1 重现第一,提问第二9

2.1.1 明确开始要做的事10

2.1.2 抓住重点10

2.2 控制软件11

2.3 控制环境11

2.4 控制输入13

2.4.1 推测可能的输入13

2.4.2 记录输入值15

2.4.3 负载和压力19

2.5 改进问题重现20

2.5.1 最小化反馈周期20

2.5.2 将不确定的缺陷变为确定的22

2.5.3 自动化25

2.5.4 迭代26

2.6 如果真的不能重现问题该怎么办27

2.6.1 缺陷真的存在吗27

2.6.2 在相同的区域解决不同的问题27

2.6.3 让其他人参与其中27

2.6.4 充分利用用户群体28

2.6.5 推测法28

2.7 付诸行动29

第3章 诊断30

3.1 不要急于动手——试试科学的方法30

3.2 相关策略35

3.2.1 插桩36

3.2.2 分而治之37

3.2.3 利用源代码控制工具38

3.2.4 聚焦差异39

3.2.5 向他人学习39

3.2.6 奥卡姆的剃刀40

3.3 调试器40

3.4 陷阱41

3.4.1 你做的修改是正确的吗41

3.4.2 验证假设42

3.4.3 多重原因43

3.4.4 流沙44

3.5 思维游戏45

3.5.1 旁观调试法45

3.5.2 角色扮演46

3.5.3 换换脑筋47

3.5.4 做些改变,什么改变都行47

3.5.5 福尔摩斯原则48

3.5.6 坚持49

3.6 验证诊断49

3.7 付诸行动50

第4章 修复缺陷51

4.1 清除障碍51

4.2 测试52

4.3 修复问题产生的原因,而非修复现象54

4.4 重构56

4.5 签入57

4.6 审查代码58

4.7 付诸行动59

第5章 反思60

5.1 这到底是怎么搞的60

5.2 哪里出了问题61

5.2.1 我们已经做到了吗62

5.2.2 根本原因分析62

5.3 它不会再发生了63

5.3.1 自动验证63

5.3.2 重构64

5.3.3 过程65

5.4 关闭循环65

5.5 付诸行动66

第二部分 从大局看调试68

第6章 发现代码存在问题68

6.1 追踪缺陷68

6.1.1 缺陷追踪系统68

6.1.2 怎样才能写出一份出色的缺陷报告69

6.1.3 环境和配置报告70

6.2 与用户合作72

6.2.1 简化流程72

6.2.2 有效的沟通73

6.3 与支持人员协同工作77

6.4 付诸行动78

第7章 务实的零容忍策略79

7.1 缺陷优先79

7.1.1 早期缺陷修复可以大大降低软件运行的不确定性79

7.1.2 没有破窗户80

7.2 调试的思维模式81

7.3 自己来解决质量问题83

7.3.1 这里没有“灵丹妙药”83

7.3.2 停止开发那些有缺陷的程序84

7.3.3 从“不干净”的代码中将“干净”的代码分离出来84

7.3.4 错误分类85

7.3.5 缺陷闪电战86

7.3.6 专项小组87

7.4 付诸行动87

第三部分 深入调试技术90

第8章 特殊案例90

8.1 修补已经发布的软件90

8.2 向后兼容91

8.2.1 确定你的代码有问题92

8.2.2 解决兼容性问题93

8.3 并发95

8.3.1 简单与控制95

8.3.2 修复并发缺陷96

8.4 海森堡缺陷97

8.5 性能缺陷98

8.5.1 寻找瓶颈99

8.5.2 准确的性能分析99

8.6 嵌入式软件100

8.6.1 嵌入式调试工具100

8.6.2 提取信息的痛苦路程102

8.7 第三方软件的缺陷102

8.7.1 不要太快去指责103

8.7.2 处理第三方代码的缺陷103

8.7.3 开源代码104

8.8 付诸行动106

第9章 理想的调试环境107

9.1 自动化测试107

9.1.1 有效的自动化测试107

9.1.2 自动化测试可以作为调试的辅助108

9.1.3 模拟测试、桩测试以及其他的代替测试技术109

9.2 源程序控制110

9.2.1 稳定性110

9.2.2 维护性111

9.2.3 与分支相关的问题111

9.2.4 控制分支112

9.3 自动构建113

9.3.1 一键构建114

9.3.2 构建机器115

9.3.3 持续集成115

9.3.4 创建版本116

9.3.5 静态分析117

9.3.6 使用静态分析119

9.4 付诸行动120

第10章 让软件学会自己寻找缺陷121

10.1 假设和断言121

10.1.1 一个例子122

10.1.2 等一下——刚才发生了什么124

10.1.3 例子,第二幕124

10.1.4 契约,先决条件,后置条件和不变量125

10.1.5 开启或关闭断言125

10.1.6 防错性程序设计126

10.1.7 断言滥用128

10.2 调试版本129

10.2.1 编译器选项130

10.2.2 调试子系统130

10.2.3 内置控制132

10.3 资源泄漏和异常处理133

10.3.1 在测试中自动抛出异常133

10.3.2 一个例子134

10.3.3 测试框架136

10.4 付诸行动139

第11章 反模式140

11.1 夸大优先级140

11.2 超级巨星141

11.3 维护团队142

11.4 救火模式144

11.5 重写145

11.6 没有代码所有权146

11.7 魔法146

11.8 付诸行动147

附录A 资源148

附录B 参考书目157

热门推荐