调试心得总结

编译能帮我们找出表层的错误,要迅速找出隐藏的错误就必须用到调试。

1.定位错误

1.1定位至出错函数

我习惯在自己定义的每个函数开始打印[function-name]Begin,结束打印[function-name]End,打印语句默认是注释掉的,当程序运行异常时,我便去掉注释,这样便可以第一时间定位报异常的函数。当然写程序一定要考虑全面,如指针使用前一定要初始化,释放指针要置空,避免程序存在野指针。

1.2定位至出错语句

同理,将出错函数分成几块,很快就能定位到具体的出错语句。

2.打印错误

直接打印出错前的变量,直观的推测一下该变量是否会造成程序异常;抛出异常,查看程序异常的原因;如果是调用一些API函数,一般会有报错语句,如mysql_errno(MYSQL* mysql) 等。

3.逐步调试

我们的开发工具一般都会提供逐句调试的功能,逐句调试,观察程序的逻辑和变量是否正确。

4.其他

有问题,优先考虑后面更新的程序。

原文地址:https://www.cnblogs.com/siliconvalley/p/3129199.html