Linux-gdb
2026/7/9 22:39:37 网站建设 项目流程

调试器 - gdb/cgdb使⽤

程序的发布⽅式有两种,debug模式和release模式,Linux gcc/g++出来的⼆进制程
序,默认是release模式。
要使⽤gdb调试,必须在源代码⽣成⼆进制程序的时候, 加上-g选项,如果没有添加,程序⽆法被
编译
常⻅使⽤
开始:gdb binFile
退出:ctrl + dquit调试命令
命令作用样例
list/l
显⽰源代码,从上次位置开始,每次列出10⾏
list/l 10
list/l函数名
列出指定函数的源代码list/l main
list/l⽂件名:⾏号
列出指定⽂件的源代码list/l mycmd.c:1
r/run
从程序开始连续执⾏run
n/next
单步执⾏,不进⼊函数内部, 逐过程 F10next
s/step
单步执⾏,进⼊函数内部, 逐语句 F11
step
break/b[⽂件名:]⾏号
在指定⾏号设置断点
break 10
break test.c:10
break/b函数名
在函数开头设置断点
break main
info break/b
查看当前所有断点的信息
info break
finish
执⾏到当前函数返回,然后停⽌
finish
print/p 表达式
打印表达式的值
print start+end
p 变量
打印指定变量的值
p x
set var变量=值
修改变量的值
set var i=10
continue/c
从当前位置开始连续执⾏程序
continue
delete/d
breakpoints
删除所有断点
delete breakpoints
delete/d
breakpoints n
删除序号为n的断点
delete breakpoints 1
disable breakpoints
禁⽤所有断点
disable breakpoints
enable breakpoints
启⽤所有断点
enable breakpoints
info/i breakpoints
查看当前设置的断点列表
info breakpoints
display变量名
跟踪显⽰指定变量的值(每次停⽌时)
display x
undisplay编号
取消对指定编号的变量的跟踪显⽰
undisplay 1
until X⾏号
执⾏到指定⾏号
until 20
backtrace/bt
查看当前执⾏栈的各级函数调⽤及参数
backtrace
info/i locals
查看当前栈帧的局部变量值
info locals
quit
退出GDB调试器
quit
watch:
执⾏时监视⼀个表达式(如变量)的值。如果监视的表达式在程序运⾏期间的值发⽣变化,GDB 会暂停程序的执⾏,并通知使⽤者
set var
确定问题原因,更改⼀下标志位
条件断点
添加条件断点:b9ifi ==30#9是⾏号,表⽰新增断点的位置
给已经存在的断点新增条件:condition2i==30#2号断点,新增条件i==30

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询