gdb 和 cgdb 调试工具

本文介绍了gdb和cgdb的区别,并详细列举了常用的调试命令,包括程序运行顺序、断点堆栈、代码和数据查看、线程管理、特殊操作以及如何attach正在运行的进程。同时,文章提及了调试core文件和多进程调试,但相关内容有待进一步补充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好书推荐

1、gdb 和 cgdb 的区别

相同点:都是调试器,命令基本都通用
gdb:就是一个调试器,启动调试:gdb + 可执行文件
cgdb:是gdb的一个扩展,打开后自动显示源码TUI,方便阅读源码
	  gdb虽然也可以,但是会经常花屏,需要自己手动刷新界面	
	  缺点:使用print命令的时,无法显示中文字符,可能是乱码或不显示
gdb打开图形界面:开始调试后按ctrl + x +a
			   gdb -tui + 可执行文件

2、常用的命令

(1)程序运行顺序:
run命令:开始调试
	简写命令 r
continue命令:在断点处继续调试,或者按了ctrl c 后继续调试
	简写命令 c
next命令:运行到下一行(但是不进入调用的函数) 		简写 n
step命令:进入被调用的函数内部						简写 s
util命令:util+ fileline  快速执行到文件某一行		简写 u
jump命令:jump + fileline 跳过中间的代码直接到fileline这一行

finish命令:运行完当前被调用的函数
return 命令:在当前行直接return回去
(2)断点堆栈类命令:
break命令:打断点,例如  break  file:line   |  break 函数名
	简写命令 b
backtrace命令:打印堆栈信息
	简写命令 bt
frame命令:frame + 堆栈编号(通过bt知道的编号)
	作用:跳转到堆栈编号处
	简写命令 f
info break命令:查看断点信息
	简写命令 i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值