程序调试的一般思路

每个程序员的很多时间都在和bug打交道,而debug的过程总不那么令人高兴。本人在调试过程中总结了几点调试程序的一般方法,写出来和大家分享,能力有限,欢迎各位大神批评指正!

1.单步调试

从问题程序的起点开始,单步执行程序观察变量的变化过程,是最基本的程序调试方法。这种方法适合错误定位范围较小的程序,并且要求我们知道正确的变量值应该怎样变化,通过对比当前值和理论值来发现错误的代码点。

2.断点即条件断点

在程序中设置断点,观察断点处的变量值也是一种常用的调试方法。断点用于快速排除正确的程序,缩小错误代码范围。比如在迭代类程序中,有时出错点在多次循环之中的某一步,我们可以通过条件断点来跳过前面的n次正常循环。我们一般先用断点缩小错误范围,再用第一种方法逐步检查代码。二者也可以交叉使用。

3.生成日志文件

在比较大的程序中,为了以后的维护方便,一般会对重要的变量生成日志文件,我们也可以针对我们的调试生成日志文件。通过查看日志文件来确定出错点,这个方法适合调试变量多,调试范围长的程序。缺点是代价比较大,要编写日志生成代码。

3.边界条件的检查

很多边界条件是程序的死穴,数组读取越界、下标范围的错位、循环的边界条件有误、特殊的输入值没有特殊处理等等问题都是边界问题。我们在程序设计时也要注意对边界条件的考虑,因为这往往是程序员最容易忽略的地方。

4.缩小规模检查算法

实际编码过程中,我们的算法很多时候是不成熟的,没有经过仔细的数学推导。所以调试程序有一定的试探性,这个时候我们为了验证思路的正确性,要举一个小的例子来验证程序的算法是否正确。

调试能力的养成不是一朝一夕的,只有平时多动手,多思考,在实践中不断摸索,我们的调试能力才会有所长进。最后再说一点心态问题,和大家共勉:无论是code还是debug,都是一个劳神的过程,长期高负荷工作会耗费我们的精力而影响我们的心情,所以要尽量保证健康生活习惯,充足的精力是我们构思编码、调试程序的基础。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值