Linux-gdb调试

本文介绍了一个简单的C语言程序,通过gdb工具进行调试的过程。包括如何设置断点、查看断点信息、运行程序到断点位置、单步执行、打印变量值、查看函数调用堆栈、退出当前函数及继续执行程序等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

gdb.c文件

#include <stdio.h>
int func(int n)
{
    int sum=0,i;
    for(i=0; i<n; i++){
        sum += i;
    }
    return sum;
}

int main(void)
{
    int i;
    long result=0;
    for(i=1; i<=100; i++){
        result +=i;
    }
    printf("result[1-100] = %ld \n", result);
    printf("result[1-250] = %d \n", func(250));
}

1、编译生成执行文件:

$ gcc -g gdb.c -o testgdb     //使用gdb调试

结果:
这里写图片描述

2、启动gdb

$ gdb testgdb

结果:
这里写图片描述

3、设置断点(在特定的行或者某个函数)

break 16

结果:
这里写图片描述

break func

结果:
这里写图片描述

4、查看断点信息

info break

结果:
这里写图片描述

5、运行程序

r(run的简写)

结果:
这里写图片描述
程序在第一个断点处停住。

6、继续执行程序

n(next的简写)

结果:
这里写图片描述

7、打印变量i

p i

结果:
这里写图片描述

8、查看函数堆栈

bt

结果:
这里写图片描述

9、退出函数

finish

结果:
这里写图片描述

10、程序继续运行

c(Continuing的简写)

结果:
这里写图片描述
注:(process 271) exited with code 027 程序退出,调试结束。

11、退出gdb

q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值