系列文章目录
linux系统编程之gdb调试
前言
本文将将介绍在linux下如何使用gdb进行调试。
一、gdb是什么?
GDB 全称“GNU symbolic debugger”,从名称上不难看出,它诞生于 GNU 计划(同时诞生的还有 GCC、Emacs 等),是 Linux 下常用的程序调试器。简而言之,我们可以通过gdb发现程序中的逻辑错误。
二、使用步骤
1.测试程序test.c
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pthread.h>
void test()
{
int a=32,b=2,c=44;//初始化局部变量
return ;
}
int main(int argc,char * argv[])
{
test();
int i; //定义局部变量
printf("%d\n",i);
return 0;
}
2.编译程序
命令如下:
gcc test.c -o test
gcc test.c -o test_gdb -g
那么生成的test和test_gdb有什么区别呢?我们在终端输入ls -l,结果如下图所示:
我们可以看到test_gdb比test文件大,原因是test_gdb包含了调试信息。
3.开始调试
命令如下:
gdb test_gdb
运行结果如下:
此时按下回车,结果如下图:
这时就进入gdb调试阶段了。
调试命令:
list 14:显示行号为14的代码片段
b 14:给第14行设置断点
run:设置断点后执行程序
n:跳到下一语句,不进入函数(next)
s:同n,但是会进入函数内部(step)
p i:查看i变量的值
continue:自动执行至下一断点
quit:退出gdb调试
总结
以上就是今天学习gdb的总结。