代码调试的主题包括:
错误类型通用调试技术GDB调试工具断言内存调试错误类型及最有效的应对技巧
1. 规范错误 - 浏览需求规格说明书
2. 设计错误 - 反思当初如何设计的
3. 编码错误 - 重阅或外人检查代码
通用调试技术 T-L-S-C-V
1. Testing 发现bug
2. Stabilization 确定bug是可重现的
3. Localization 定位bug所在行
4. Correction 修正bug
5. Verification 确定fix可以工作
被动式分析bug的基本技术就是 Instrumentation
#ifdefine DEBUG & DEBUG_LEVEL_X
printf("...");
#endif
用gdb是一种主动调试技术
$
run$
backtrace //对付最严重的coredump错误最有效!
$print
$list
断言
#include
void assert(int expression); //expression==0 代表正常。否则expression为真,断言发生!
内存调试
对付内存泄漏的一个基本工具就是 valgrind
$valgrind --leak-check=yes -v ./test
阅读(1060) | 评论(0) | 转发(0) |