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

图书网 2020年9月28日21:29:40
评论
1.4K

Effective Debugging 软件和系统调试的66个有效方法 作者:(希)迪欧米迪斯·斯宾奈里斯(Diomidis Spinellis)

Effective Debugging 软件和系统调试的66个有效方法 出版社:机械工业出版社

Effective Debugging 软件和系统调试的66个有效方法 内容简介

本书共分8章。首先讲解调试策略(1章)、调试方法(2章)以及调试时所用的工具与技巧(3章),这些知识使我们能够应对各种软件故障及系统故障。接下来讨论在调试工作的各个阶段所用到的具体技巧,也就是在使用调试器(4章)、编写程序(5章)、编译软件(6章)以及运行系统(7章)时所用到的调试技巧。与多线程和并发有关的bug是很难寻找的,所以本书后专门用一章(8章)来讲解特定的调试工具及调试技术,使大家能够找出这些bug。

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

前言

致谢

第1章 宏观策略

第1条:通过事务追踪系统处理所有的问题

第2条:在网上确切地查询你所遇到的问题,以寻求解决问题的灵感

第3条:确保前置条件与后置条件都能够得到满足

第4条:从具体问题入手向上追查bug,或从高层程序入手向下追查bug

第5条:在能够正常运作的系统与发生故障的系统之间寻找差别

第6条:使用软件自身的调试机制

第7条:试着用多种工具构建软件,并将其放在不同的环境下执行

第8条:把工作焦点放在最为重要的问题上

第2章 通用的方法与做法

第9条:相信自己能够把问题调试好

第10条:高效地重现程序中的问题

第11条:修改完代码之后,要能够尽快看到结果

第12条:将复杂的测试场景自动化

第13条:使自己尽可能多地观察到与调试有关的数据

第14条:考虑对软件进行更新

第15条:查看第三方组件的源代码,以了解其用法

第16条:使用专门的监测及测试设备

第17条:使故障更加突出

第18条:从自己的桌面计算机上调试那些不太好用的系统

第19条:使调试任务自动化

第20条:开始调试之前与调试完毕之后都要把程序清理干净

第21条:把属于同一个类型的所有问题全都修复好

第3章 通用的工具与技术

第22条:用Unix命令行工具对调试数据进行分析

第23条:掌握命令行工具的各种选项及习惯用法

第24条:用编辑器对调试程序时所需的数据进行浏览

第25条:优化工作环境

第26条:用版本控制系统寻找bug发生的原因及经过

第27条:用工具监测由多个独立程序所构成的系统

第4章 调试器的使用技巧

第28条:编译代码时把符号信息包含进来,以便于调试

第29条:对代码进行单步调试

第30条:设置代码断点和数据断点

第31条:了解反向调试功能

第32条:查看例程之间的相互调用情况

第33条:查看变量及表达式的值,以寻找程序中的错误

第34条:了解怎样把调试器连接到正在运行的进程上

第35条:了解怎样运用核心转储信息来进行调试

第36条:把调试工具设置好

第37条:学会查看汇编代码及原始内存

第5章 编程技术

第38条:对可疑的代码进行评审,并手工演练这些代码

第39条:审读代码并与同事讨论

第40条:给软件添加调试机制

第41条:添加日志语句

第42条:对软件进行单元测试

第43条:用断言进行调试

第44条:改动受测程序,以验证自己的推想

第45条:尽量缩小正确范例与错误代码之间的差距

第46条:简化可疑代码

第47条:将可疑代码改用另外一种编程语言来写

第48条:改善可疑代码的可读性与结构

第49条:要清除bug的根源,而不仅仅消除其症状

第6章 编译时的调试技术

第50条:对生成的代码进行检视

第51条:使用静态程序分析工具

第52条:对项目进行配置,令程序能够以固定的方式构建和执行

第53条:对调试所用程序库及构建代码时所应执行的检查进行配置

第7章 运行时的调试技术

第54条:通过构建测试用例来寻找错误

第55条:令软件在遇到问题时尽早退出

第56条:检视应用程序的日志文件

第57条:对系统和进程所执行的操作进行性能评测

第58条:追踪程序的执行情况

第59条:使用动态程序分析工具

第8章 调试多线程的代码

第60条:通过事后调试来分析死锁问题

第61条:捕获并重现

第62条:用专门的工具来探查死锁与竞争条件问题

第63条:把不确定的因素隔离出来,或将其移除

第64条:检查资源争用情况,以解决与可伸缩性有关的问题

第65条:用性能计数器寻找伪共享问题

第66条:考虑用更为高级的抽象机制来重写代码

网上资源

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

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

软件工程/开发项目管理

软件设计重构pdf

以4个设计原则为中心,全面呈现25种在软件项目中导致技术债务的设计坏味 提供一种独特的坏味命名方法,帮助理解坏味的由来并指出潜在重构方法 包含丰富的例证,展现糟糕设计实践的潜在坏味...
软件工程/开发项目管理

DevOps 最佳实践pdf

DevOps 最佳实践 作者: Bart de Best(巴特・德・贝斯特) DevOps 最佳实践 出版社:电子工业出版社 DevOps 最佳实践 内容简介 近年来,许多组织都体会到了使用敏捷方法的...
软件工程/开发项目管理

Android组件化架构pdf

Android走过的十个年头,其技术演进也是有迹可循的,本书作者基于自己在大型App架构的技术演进中成长的经历,将遇到的相关问题进行深入剖析,包括Android 组件化架构、模块化...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: