概念:
Linux GDB(GNU Debugger)是一个功能强大的调试工具,用于调试C、C++等编程语言的程序。它可以帮助开发人员定位和修复程序中的错误。
GDB 的使用 :
激活和进入工作模式:
gdb 需要调试的文件
进入 gdb 的工作模式后,可以使用命令 quit 或者 q 即可退出gdb 的工作模式,也就是退出调试
quit //q
查看文件的内容:
list //l
同时,在使用list 命令后 文件展示的内容只有十行, 并不是全部,所以想要查看其他行的内容,则可以使用 命令 :list 行号 或者 list 文件名 : 关键字 又或者 list 文件名 : 行号 对文件内容进行具体的查看
list 行号 // l 行号 list 文件名 : 关键字 // l 文件名 :关键字 list 文件名 : 行号 // l 文件名 : 行号
当然,如果想要查看全文,那么只要输入文件开头的行号,随后一直摁下回车即可。 同时需要注意的是,输入行号并不是直接以哪一行开头,而是会出现哪一行的相关上下行。
运行调试的文件:
run // r
不过,r命令 的运行 是直接启动到结束,如果需要查看某段代码的内容,或者对代码进行逐句的调试,则需要使用断点命令。
打断点:
b 需要打断点的代码行数
使用命令 b 行数 或者 b 文件名 : 行数 或者 b 文件名 :关键代码 即可打上断点。
查看断点:
使用 i b 或者 info b 对 断点进行查看,且需要注意的是,如图上图所示,在每一个断点的最前端,都有一个编号,这个编号一但被某个断点占用,那么其他断点就不会使用这个编号!
删除断点:
使用 d 断点编号 即可删除 断点,同时需要注意,断点不能连续删除!\
禁用断点:
disable 断点编号
重新打开断点:
enable 断点编号
逐过程 与 逐语句:
使用 n 或者 next 进行调试的逐过程,相当于VS中的F10进行代码的调试,使用的步骤是先使用 r 命令 进入运行阶段后,因为断点的原因,在使用n 进行代码的调试。
同时可以使用 s 命令 对代码进行逐语句的调试,相当于VS 中的F11
查看变量/监视功能:
使用p 命令可以对 代码 中的变量进行监视 或者说查看变量当前的数据
p 需要监视的变量 //查看变量当前的数值
p &需要查看的变量 //查看变量的地址
常显示:
display 需要显示的变量,常显示顾名思义,就算需要显示的变量会在运行的代码下方显示,当然想要去掉常显示则使用 undisplay 需要取消常显示的变量的编号
运行至下一个断点:
使用 c 或者 contine 命令 从当前断点转跳到下一个断点!
转跳行数:
使用 until 行号 命令 转跳到指定行号进行运行,之前几行代码会立马执行完毕到当前的指定行。
停止运行:
finish 命令 可以时运行停下。