本文主要是介绍linux调试(gdb)基操,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1.gdb调试可执行程序
- 2.gdb调试coredump文件
首先我们知道程序有两个版本:Release版本和Debug版本; Debug为调试版本,它包含调试信息,所以程序体积相对于Release版本比较大,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
我们要在LINUX系统下调试程序首先就得生成Debug版本的程序;这需要在生成可执行程序时加上 -g 命令参数;

先看一下程序:
1.gdb调试可执行程序
第一部操作就是 : gdb [可执行程序]
人后就进入到了调试界面,如果之前没有加 -g 选项生成Debug版本这里就会出错
进入GDB调试界面之后的一些操作:
l (list) 查看程序
b 打断点
delete [断点序号] 删除指定断点
disable [断点序号] 使断点失效
enable[断点序号] 使断点生效
i b 查看断点信息
r run 运行程序
n next 逐语句运行,遇到函数会进入到函数内部逐语句运行
s step 逐过程运行
c continue 遇到下一个断点则停止
q 退出
p [变量名] 打印变量地址
b t 可查看函数调用的堆栈
f [堆栈序号] 跳转到一个具体的堆栈
2.gdb调试coredump文件
程序在调试崩溃后会产生内存镜像文件,保存程序崩溃时的一些数据。
产生coredump文件的条件:
1.Linux系统下需要设置core size 大小
ulimit -c 查看大小ulimit -c unlimited 设置大小为unlimited
- 内存空间足够
gdb调试产生core dump文件
然后使用各种命令调试即可。
这篇关于linux调试(gdb)基操的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!