v

您的位置:VeryCD图书计算机与网络

图书资源事务区


《软件调试修炼之道》(Debug It!: Find, Repair, and Prevent Bugs in Your Code)扫描版[PDF]

  • 状态: 精华资源
  • 摘要:
    图书分类网络
    出版社人民邮电出版社
    发行时间2011年5月9日
    语言简体中文
  • 时间: 2013/06/18 08:40:59 发布 | 2013/06/20 05:02:42 更新
  • 分类: 图书  计算机与网络 

slholmes

精华资源: 762

全部资源: 762

相关: 分享到新浪微博   转播到腾讯微博   分享到开心网   分享到人人   分享到QQ空间   订阅本资源RSS更新   美味书签  subtitle
该内容尚未提供权利证明,无法提供下载。
中文名软件调试修炼之道
原名Debug It!: Find, Repair, and Prevent Bugs in Your Code
作者Paul Butcher
译者曹玉琳
图书分类网络
资源格式PDF
版本扫描版
出版社人民邮电出版社
书号9787115252647
发行时间2011年5月9日
地区大陆
语言简体中文
简介

IPB Image

评论处1楼有网盘链接


内容介绍:

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


内容截图:

IPB Image



目录

第一部分 问题的核心
第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

正在读取……

这里是其它用户补充的资源(我也要补充):

暂无补充资源
正在加载,请稍等...

点击查看所有255网友评论

 

(?) [公告]留口水、评论相关规则 | [活动]每日签到 轻松领取电驴经验

    小贴士:
  1. 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  2. 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  3. 勿催片。请相信驴友们对分享是富有激情的,如果确有更新版本,您一定能搜索到。
  4. 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
  5. 如果您发现自己的评论不见了,请参考以上4条。