Effective Debugging:软件和系统调试的66个有效方法

Effective Debugging:软件和系统调试的66个有效方法
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-05
版次: 1
ISBN: 9787111568896
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 205页
25人买过
  •    本书共分8章。首先讲解调试策略(1章)、调试方法(2章)以及调试时所用的工具与技巧(3章),这些知识使我们能够应对各种软件故障及系统故障。接下来讨论在调试工作的各个阶段所用到的具体技巧,也就是在使用调试器(4章)、编写程序(5章)、编译软件(6章)以及运行系统(7章)时所用到的调试技巧。与多线程和并发有关的bug是很难寻找的,所以本书后专门用一章(8章)来讲解特定的调试工具及调试技术,使大家能够找出这些bug。 译者序 
    前言 
    致谢 
    第1章 宏观策略 1 
    第1条:通过事务追踪系统处理所有的问题 1 
    第2条:在网上确切地查询你所遇到的问题,以寻求解决问题的灵感 4 
    第3条:确保前置条件与后置条件都能够得到满足 6 
    第4条:从具体问题入手向上追查bug,或从高层程序入手向下追查bug 7 
    第5条:在能够正常运作的系统与发生故障的系统之间寻找差别 9 
    第6条:使用软件自身的调试机制 13 
    第7条:试着用多种工具构建软件,并将其放在不同的环境下执行 16 
    第8条:把工作焦点放在最为重要的问题上 20 
    第2章 通用的方法与做法 23 
    第9条:相信自己能够把问题调试好 23 
    第10条:高效地重现程序中的问题 26 
    第11条:修改完代码之后,要能够尽快看到结果 29 
    第12条:将复杂的测试场景自动化 30 
    第13条:使自己尽可能多地观察到与调试有关的数据 32 
    第14条:考虑对软件进行更新 34 
    第15条:查看第三方组件的源代码,以了解其用法 35 
    第16条:使用专门的监测及测试设备 37 
    第17条:使故障更加突出 40 
    第18条:从自己的桌面计算机上调试那些不太好用的系统 42 
    第19条:使调试任务自动化 44 
    第20条:开始调试之前与调试完毕之后都要把程序清理干净 46 
    第21条:把属于同一个类型的所有问题全都修复好 47 
    第3章 通用的工具与技术 49 
    第22条:用Unix命令行工具对调试数据进行分析 49 
    第23条:掌握命令行工具的各种选项及习惯用法 55 
    第24条:用编辑器对调试程序时所需的数据进行浏览 57 
    第25条:优化工作环境 59 
    第26条:用版本控制系统寻找bug发生的原因及经过 64 
    第27条:用工具监测由多个独立程序所构成的系统 67 
    第4章 调试器的使用技巧 71 
    第28条:编译代码时把符号信息包含进来,以便于调试 72 
    第29条:对代码进行单步调试 76 
    第30条:设置代码断点和数据断点 77 
    第31条:了解反向调试功能 80 
    第32条:查看例程之间的相互调用情况 83 
    第33条:查看变量及表达式的值,以寻找程序中的错误 84 
    第34条:了解怎样把调试器连接到正在运行的进程上 87 
    第35条:了解怎样运用核心转储信息来进行调试 89 
    第36条:把调试工具设置好 92 
    第37条:学会查看汇编代码及原始内存 95 
    第5章 编程技术 100 
    第38条:对可疑的代码进行评审,并手工演练这些代码 100 
    第39条:审读代码并与同事讨论 102 
    第40条:给软件添加调试机制 103 
    第41条:添加日志语句 107 
    第42条:对软件进行单元测试 111 
    第43条:用断言进行调试 114 
    第44条:改动受测程序,以验证自己的推想 118 
    第45条:尽量缩小正确范例与错误代码之间的差距 119 
    第46条:简化可疑代码 120 
    第47条:将可疑代码改用另外一种编程语言来写 123 
    第48条:改善可疑代码的可读性与结构 124 
    第49条:要清除bug的根源,而不仅仅消除其症状 128 
    第6章 编译时的调试技术 130 
    第50条:对生成的代码进行检视 130 
    第51条:使用静态程序分析工具 133 
    第52条:对项目进行配置,令程序能够以固定的方式构建和执行 138 
    第53条:对调试所用程序库及构建代码时所应执行的检查进行配置 141 
    第7章 运行时的调试技术 147 
    第54条:通过构建测试用例来寻找错误 147 
    第55条:令软件在遇到问题时尽早退出 151 
    第56条:检视应用程序的日志文件 152 
    第57条:对系统和进程所执行的操作进行性能评测 156 
    第58条:追踪程序的执行情况 160 
    第59条:使用动态程序分析工具 166 
    第8章 调试多线程的代码 169 
    第60条:通过事后调试来分析死锁问题 169 
    第61条:捕获并重现 176 
    第62条:用专门的工具来探查死锁与竞争条件问题 180 
    第63条:把不确定的因素隔离出来,或将其移除 186 
    第64条:检查资源争用情况,以解决与可伸缩性有关的问题 188 
    第65条:用性能计数器寻找伪共享问题 191 
    第66条:考虑用更为高级的抽象机制来重写代码 195 
    网上资源 203
  • 内容简介:
       本书共分8章。首先讲解调试策略(1章)、调试方法(2章)以及调试时所用的工具与技巧(3章),这些知识使我们能够应对各种软件故障及系统故障。接下来讨论在调试工作的各个阶段所用到的具体技巧,也就是在使用调试器(4章)、编写程序(5章)、编译软件(6章)以及运行系统(7章)时所用到的调试技巧。与多线程和并发有关的bug是很难寻找的,所以本书后专门用一章(8章)来讲解特定的调试工具及调试技术,使大家能够找出这些bug。
  • 目录:
    译者序 
    前言 
    致谢 
    第1章 宏观策略 1 
    第1条:通过事务追踪系统处理所有的问题 1 
    第2条:在网上确切地查询你所遇到的问题,以寻求解决问题的灵感 4 
    第3条:确保前置条件与后置条件都能够得到满足 6 
    第4条:从具体问题入手向上追查bug,或从高层程序入手向下追查bug 7 
    第5条:在能够正常运作的系统与发生故障的系统之间寻找差别 9 
    第6条:使用软件自身的调试机制 13 
    第7条:试着用多种工具构建软件,并将其放在不同的环境下执行 16 
    第8条:把工作焦点放在最为重要的问题上 20 
    第2章 通用的方法与做法 23 
    第9条:相信自己能够把问题调试好 23 
    第10条:高效地重现程序中的问题 26 
    第11条:修改完代码之后,要能够尽快看到结果 29 
    第12条:将复杂的测试场景自动化 30 
    第13条:使自己尽可能多地观察到与调试有关的数据 32 
    第14条:考虑对软件进行更新 34 
    第15条:查看第三方组件的源代码,以了解其用法 35 
    第16条:使用专门的监测及测试设备 37 
    第17条:使故障更加突出 40 
    第18条:从自己的桌面计算机上调试那些不太好用的系统 42 
    第19条:使调试任务自动化 44 
    第20条:开始调试之前与调试完毕之后都要把程序清理干净 46 
    第21条:把属于同一个类型的所有问题全都修复好 47 
    第3章 通用的工具与技术 49 
    第22条:用Unix命令行工具对调试数据进行分析 49 
    第23条:掌握命令行工具的各种选项及习惯用法 55 
    第24条:用编辑器对调试程序时所需的数据进行浏览 57 
    第25条:优化工作环境 59 
    第26条:用版本控制系统寻找bug发生的原因及经过 64 
    第27条:用工具监测由多个独立程序所构成的系统 67 
    第4章 调试器的使用技巧 71 
    第28条:编译代码时把符号信息包含进来,以便于调试 72 
    第29条:对代码进行单步调试 76 
    第30条:设置代码断点和数据断点 77 
    第31条:了解反向调试功能 80 
    第32条:查看例程之间的相互调用情况 83 
    第33条:查看变量及表达式的值,以寻找程序中的错误 84 
    第34条:了解怎样把调试器连接到正在运行的进程上 87 
    第35条:了解怎样运用核心转储信息来进行调试 89 
    第36条:把调试工具设置好 92 
    第37条:学会查看汇编代码及原始内存 95 
    第5章 编程技术 100 
    第38条:对可疑的代码进行评审,并手工演练这些代码 100 
    第39条:审读代码并与同事讨论 102 
    第40条:给软件添加调试机制 103 
    第41条:添加日志语句 107 
    第42条:对软件进行单元测试 111 
    第43条:用断言进行调试 114 
    第44条:改动受测程序,以验证自己的推想 118 
    第45条:尽量缩小正确范例与错误代码之间的差距 119 
    第46条:简化可疑代码 120 
    第47条:将可疑代码改用另外一种编程语言来写 123 
    第48条:改善可疑代码的可读性与结构 124 
    第49条:要清除bug的根源,而不仅仅消除其症状 128 
    第6章 编译时的调试技术 130 
    第50条:对生成的代码进行检视 130 
    第51条:使用静态程序分析工具 133 
    第52条:对项目进行配置,令程序能够以固定的方式构建和执行 138 
    第53条:对调试所用程序库及构建代码时所应执行的检查进行配置 141 
    第7章 运行时的调试技术 147 
    第54条:通过构建测试用例来寻找错误 147 
    第55条:令软件在遇到问题时尽早退出 151 
    第56条:检视应用程序的日志文件 152 
    第57条:对系统和进程所执行的操作进行性能评测 156 
    第58条:追踪程序的执行情况 160 
    第59条:使用动态程序分析工具 166 
    第8章 调试多线程的代码 169 
    第60条:通过事后调试来分析死锁问题 169 
    第61条:捕获并重现 176 
    第62条:用专门的工具来探查死锁与竞争条件问题 180 
    第63条:把不确定的因素隔离出来,或将其移除 186 
    第64条:检查资源争用情况,以解决与可伸缩性有关的问题 188 
    第65条:用性能计数器寻找伪共享问题 191 
    第66条:考虑用更为高级的抽象机制来重写代码 195 
    网上资源 203
查看详情
系列丛书 / 更多
Effective Debugging:软件和系统调试的66个有效方法
Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法
[英]Matt Galloway 著;爱飞翔 译
Effective Debugging:软件和系统调试的66个有效方法
编写高质量代码:改善Objective-C程序的61个建议
刘一道 著
Effective Debugging:软件和系统调试的66个有效方法
Effective Python:编写高质量Python代码的59个有效方法
[美]布雷特·斯拉特金 著;爱飞翔 译
Effective Debugging:软件和系统调试的66个有效方法
Effective JavaScript:编写高质量JavaScript代码的68个有效方法
[美]David Herman 著;黄博文、喻杨 译
Effective Debugging:软件和系统调试的66个有效方法
Effective Ruby:改善Ruby程序的48条建议
[美]彼得 J.琼斯 著;刘璐、杨政权、秦五一、孟樊超 译
Effective Debugging:软件和系统调试的66个有效方法
编写高质量代码:改善Python程序的91个建议
张颖、赖勇浩 著
Effective Debugging:软件和系统调试的66个有效方法
编写高质量代码:改善C程序代码的125个建议
马伟 著
Effective Debugging:软件和系统调试的66个有效方法
Effective SQL:编写高质量SQL语句的61个有效方法
[法]约翰· L. 维卡斯 著;文浩 译
相关图书 / 更多
Effective Debugging:软件和系统调试的66个有效方法
EffectiveTeamwork:PracticalLessonsfromOrganizationalResearch
Michael A. West 著
Effective Debugging:软件和系统调试的66个有效方法
Effective数据科学基础设施
[芬兰]维莱·图洛斯(Ville Tuulos)著 郭涛 译
Effective Debugging:软件和系统调试的66个有效方法
Effective TypeScript:精进TypeScript代码的62个实践方法
[美]丹·范德卡姆(Dan Vanderkam);王瑞鹏;董强
Effective Debugging:软件和系统调试的66个有效方法
EffectiveLeadershipinAdventureProgramming
Simon Priest 著
Effective Debugging:软件和系统调试的66个有效方法
Effective软件测试
[荷兰]毛里西奥·阿尼什(Maurício Aniche)著 朱少民 李洁 张元 译
Effective Debugging:软件和系统调试的66个有效方法
Effective Python:编写高质量Python代码的90个有效方法(原书第2版)
[美]布雷特·斯拉特金(Brett Slatkin)
Effective Debugging:软件和系统调试的66个有效方法
Effective C中文版
[美]罗伯特·C. 西科德(Robert C. Seacord)
Effective Debugging:软件和系统调试的66个有效方法
Effective Python:改善Python程序的90个建议 (第2版)(英文版)
[美]Brett Slatkin(布雷特·斯莱特金)
Effective Debugging:软件和系统调试的66个有效方法
EffectiveSupervision:SupportingtheArtandScienceofTeaching
Robert J. Marzano 著
Effective Debugging:软件和系统调试的66个有效方法
EffectiveHelpingInterviewingandCounselingT
Barbara F. Okun、Ricki E. Kantrowitz 著
Effective Debugging:软件和系统调试的66个有效方法
Efficient Linux命令行
[美]丹尼尔·J. 巴雷特(Daniel J. Barrett)马晶慧
Effective Debugging:软件和系统调试的66个有效方法
Effective Cybersecurity 中文版
[美]威廉·斯托林斯(William Stallings)
您可能感兴趣 / 更多