Linux下C语言调试


今天读《Linux程序设计》,第10章调试。 

相关链接:《Linux程序设计》第四版中文版 PDF下载

1、C语言预处理定义的一些宏可以帮助我们进行调试好

预处理定义的宏
说明
__LINE__ 代表当前行号的十进制常数
__FILE__ 代表当前文件名的字符串
__DATE__ 代表当前日期,Mmm dd yyyy格式的字符串
__TIME__ 代表当前时间,hh:mm:ss格式的字符串

2、gdb调试 

dgb调试需要编译时加入-g

gdb <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~

相关内容