Debug Hacks 深入调试的技术和工具(一) 热身准备

 

热身准备

调试是什么

测试就是确认程序是否与规格一致的工作。程序行为与期待行为不一致,就称为BUG,测试就是寻找程序中的BUG的过程。

通过某种方法发现BUG进行修正的过程。

Debug hacks的地图

  • 程序异常结束时的对应方法

 

  • 程序不结束时的对应方法

  • 内核有问题的现象

调试的心得

复现bug

  • 复现BUG:创造条件与产生BUG的环境一致
  1. 挂载,内核模块等参数、选项
  2. 网络通信的对方的硬件。
  3. 磁盘的硬件制造商
  4. 配置文件的内容
  • 试图复现他人发现的BUG时,如果有疑问或需要更多信息,应当总结之后一起问。应当先操作一遍,将问题、疑难事项总结之后再提问。此外,对方可能不告诉你重要信息,因为他觉得跟bug没关系,所以在听取时应当考虑到这一点。

复现之后

  • 确认现象,要确认bug现象是否真的复现了
  • 确认复现率和时间,bug100%复现,还是仅在特定时机才会复现。

分析

  • 确认现象
  • 尽量缩小范围
  • 根据内核配置,内核启动参数划分问题
  • 根据版本划分问题
  • 根据事实做出判断

问题原因不明

  • 怀疑硬件问题
  • 找找以前改正的同类错误
  • bug发生做准备,加入打印,记录log等。定期获取内存、网络、I/OCPU使用率等日志。
  • 跟同事讨论
  • 咨询社区
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张无印

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值