linux系统编程之gdb调试

系列文章目录

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的总结。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值