网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 软件工程 > 商品详情

软件调试修炼之道(china-pub首发)

分享到:
软件调试修炼之道(china-pub首发)

最 低 价:¥24.00

定 价:¥32.00

作 者:(美)Paul Butcher

出 版 社:人民邮电出版社

出版时间:2011 年5月

I S B N:9787115252647

价格
24.00元
价格
24.00元
价格
25.30元
价格
25.30元
价格
26.20元
价格
27.20元

商品详情

编辑推荐

亚马逊全五星畅销图书
  资深专家经验总结
  问题重现—问题诊断—缺陷修复—反思

内容简介

《软件调试修炼之道》主要讲述如何运用方法和调试工具在客户投诉之前自动检测程序中的bug,紧紧围绕问题重现、问题诊断、缺陷修复、反思四个中心环节,并将调试置于软件开发与运行的大环境中,为我们道出了软件调试修炼之道。
  《软件调试修炼之道》适用软件开发、调试一线人员及一切热爱软件调试之道的有志者。
  

作者简介

Paul Butcher 资深程序员,涉猎广泛,从单片机编码到高级声明式编程无所不精。Paul是一位少年天才,8岁时就已经开始在8位机上编写游戏。最近几年他开始痴迷于赛车,认为自己是可以和汉密尔顿比肩的赛车手。
.. << 查看详细

目录

《软件调试修炼之道》
第一部分 问题的核心
第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
第二部分 从大局看调试
第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
第三部分 深入调试技术
第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

商品评论(0条)

暂无评论!

您的浏览历史

loading 内容加载中,请稍后...