分享软件bug解决经验

    首先关于日志记录方面,通常我们开发的软件都会记录运行日志,工作中发现很多开发人员不会打日志,对于很多关键地方没有打日志,却打了很多无意义的正常运行日志。个人感觉只需要在软件的输入输出分配打个正常运行日志就可以了,然后在消息传递及处理或者其它业务运行的每个阶段的所有处理异常的情况都应该记录日志,对于频繁出现的异常可以记录统计信息,然后定时打印统计日志,对于每个正常运行阶段也可以记录统计信息打印统计日志,以防万一。 

    然后关于解决问题的思路,不能指望通过复现问题来找到代码中的bug,其实所有bug都可以通过合理的方式查看代码找到问题。当出现一个问题时,首先应该要了解对应的业务处理流程(可以通过询问同事、查看设计文档、白盒代码等方式了解),然后分析可能在流程中的哪个阶段出现问题,然后对照日志排除一些流程/代码问题,最后对于一些不确定情况,可以仔细审阅相关代码,一个个排除不会出现问题的代码,对于一些偶然出现的情况需要重点排查业务冲突、线程间竞争、缓存/堆栈溢出、死锁的的情况。所有的问题基本上都可以通过这种思路找到并解决,但前提时必须有耐心和细心,逻辑也要清晰。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值