今天读《Linux程序设计》,第10章调试。 相关链接:《Linux程序设计》第四版中文版 PDF下载 http://www.linuxidc.com/Linux/2011-08/41135.htm
1、C语言预处理定义的一些宏可以帮助我们进行调试好预处理定义的宏| 宏 | 说明 |
| __LINE__ | 代表当前行号的十进制常数 |
| __FILE__ | 代表当前文件名的字符串 |
| __DATE__ | 代表当前日期,Mmm dd yyyy格式的字符串 |
| __TIME__ | 代表当前时间,hh:mm:ss格式的字符串 |
2、gdb调试 dgb调试需要编译时加入-ggdb <program> 调试程序list (l) 显示程序源代码
l 22 显示行号22前后位置的代码
run ( r) 运行程序breakpoint (break) 设置断点
break 20 断点设置在20行
break fun 断电设置在fun( )函数开始的地方
print (p) 打印变量或者其他表达式的值
print i 打印变量i
print array[0]@5 打印制定数目的数组元素 array[0]~array[4]
display 自动显示表达式的值step 但不执行,进入函数内部next (n) 单条语句执行,不进入函数内部continue (c) 继续运行backtrace (bt) 栈跟踪,查看函数堆栈,显示程序如何到达现路径info break 查看断点信息,包括断点号delete 根据断点号删除断点clear 删除所有断点clear fun 删除fun( )函数中的断点clear 22 删除行号12的所有断点 //~End~