几年前总结的,翻出分享一下。
此次小结的内容主要包括:
- 利用gcc 警告选项排除隐患
- 利用gdb 执行调试
- 利用valgrind 检测内存使用
- 利用asciidoc 完善文档
1. 开启gcc 警告选项排除隐患
编译程序的时候开启gcc 的警告功能可以帮助发现很多隐含问题,甚至逻辑错误,作为一个严谨的程序员不能忽视这些警告信息。
http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
常用选项:-Wall
2.利用gdb执行调试
程序调试阶段,一般采用gdb作为调试工具。gdb是文本模式的调试工具,高效、快捷、好用。
GDB, the GNU Project debugger, allows you to see what is going on ‘inside’ another program while it executes.
http://www.gnu.org/software/gdb/
gdb常用命令:
载入程序:gdb program
启动:run paramlist
下断点:break function 或break filename:line number 或
break filename:function
查看断点: info br
删除断点:delete breakpoint list
查看源码:list
单步不如:step
下一句:next
继续执行到下个断点: continue
查看变量:print 变量名称
查看调用栈:bt
推荐图书:《调试的艺术》
3. 利用valgrind 检测内存使用
valgrind -v –tool=memcheck –leak-check=full ./al
在另外一个shell 中:killall memcheck
可以分析内存泄露和内存非法访问情况
4. 利用asciidoc 完善文档
官方网站:http://www.methods.co.nz/asciidoc/
快速参考:http://powerman.name/doc/asciidoc
生成html:asciidoc -a toc filename.txt