深入调试的技术和工具读书笔记一

第1章      热身准备

Hack #1 调试是什么

调试的流程如下:

(1)      bug复现;

(2)      调试;

(3)      确认执行过程(测试);

(4)      程序行为与预期相同,则停止;程序行为与预期不同,转到(2)。

Hack #2 Debug hacks的地图

图1-3和图1-4将故障分类为“异常停止”、“不停止”和“其他现象”,并分别说明原因区分方法和有关的hack编号。



内核有问题的现象:

区分方法

结果

ps

显示中途停止,状态为D

ping

不返回响应

键盘

键盘无法输入

kill -9

无法结束程序

strace

无法附加(attach)到进程(无响应)

gdb

无法附加(attach)到进程(无响应)

查看内核信息

softlockup等有输出结果

Hack #3 调试的心得

当复现他人发现的bug时,如果有疑问或需要更多信息,应当总结之后一起问。反复询问细小的问题会让人疲倦,所以应当先操作一遍,将问题、疑难事项总结之后再提问。此外,对方可能不告诉你重要信息,因为他觉得跟bug没关系,所以在听取时应当考虑这一点。

在匆忙中解决bug时,经常会犯下简单的错误,如配置错误等。无法复现时,应当确认网线、配置文件内容正确,并进一步用命令的输出确认是否有问题。

根据现象很容易想到“很可能是某个原因”,但不要仅凭表象做出没有根据的判断,而应当认真地确认,否则,就会与真正的原因擦肩而过。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值