Linux下C语言调试

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


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~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值