1 重要准备
要使用gdb来调试c/c++程序,需要在编译时加上-g选项,生成可供调试的文件,例如:g++ test.cpp -g -o test
2 启动gdb
在命令行下输入gdb即可启动,或者输入 gdb [调试文件] ,例如:gdb test
3 关闭gdb
在gdb模式下输入命令 q 或者 quit 即可退出gdb
4 gdb常用命令
file:用于加载被调试程序,一般在调试程序目录运行gdb,因此不需要加路径,例如:file test
list:用于列出调试程序源码的一部分,可简写为 l ,参数为数字,不带参数时显示10行代码,带参数时分为两种情况,只有一个参数时表示参数的前5行和后4行,带两个参数时表示1参数到2参数之间的行(参数中间有逗号),例如:l 7 ; list 3,8 ,还可以使用 list [函数名称] 的格式,显示函数上下10行的内容
run:运行调试中的程序,有一个或多个参数,格式为:run arg1 arg2 ... 可以简写为 r ,主要用于传参给调试的程序。在run后,可以使用 show args 命令显示传递的参数arg1...;重新运行run时默认传入上一次传递的参数;若要改变参数,使用 set args 命令,如:set args arg1 arg2 ...
break:设置断点,格式为:break [linenumber]、break [funcname]、break [filename:linenum],可以设置行号断点,函数断点,可以简写为 b
next:执行一行代码但不进入函数内部
step:执行一行代码且进入函数内部
c:继续执行
quit:q
finish:终止当前函数并输出返回值