聊聊程序常用调试有哪些?

本文探讨了程序调试的常见方法,包括加日志、加断言、调试core文件以及针对Python和Go语言的调试。日志虽基本但有时不够灵活;加断言能帮助验证代码逻辑;调试core文件在C/C++中常见;Go语言的调试工具gdb和dlv各有特点,Python则有pdb等调试方式。
摘要由CSDN通过智能技术生成


程序开发,很大一部分的时间是用于调试,调试也是一门值得了解的学科,我这总结一般调试手段:

  1. 加日志
  2. 加断言
  3. 代码调试
  4. 调试core文件

加日志

这个就无需赘言了,你怀疑哪个地方,或者在出现问题的时候,需要知道哪个地方有问题,那么日志肯定是少不了的,而且这个也是最基本的,适用于所有语言。

但是经验来看,加日志属于事后,或者是预判,不是很灵活,因为总有你没想到的地方,所以我们发现,做程序开发,在排查线上问题的时候,总会抱怨其他程序员没有加日志。关键还是在于计划赶不上变化。

日志是必须的,但是只靠日志,在某些场景还是没法解决问题的:

  1. 你不知道哪个地方出了问题,你只能在怀疑的地方又加日志
  2. 每次加日志,你肯定得改代码,如果是编译型语言你还得重新打包,慢
  3. 加了日志之后,发现打印出的信息还是太少,返回去又搞一遍,返工

加断言

这个在 c 语言开发里经常看见,通常是你认为绝对的一段代码逻辑,直接断言,或者在排查问题的时候,怀疑某一个地方,那么加一个断言,这个本质逻辑就是:如果代码走到我怀疑的地方,那么就证明了我某些推论,断言之后,还可以留下内存 core 文件,以便调试。

调试core文件

这个是c/c+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值