基于C语言的GDB调试

在正常编写代码时,不论是写项目还是刷题。都会遇到输出与预期不符,段错误等等情况。在这里纪录一下GDB学习笔记

吐核:

操作系统的内核会纪录程序运行过程中所有的行为,资源申请,内存使用情况等,

当程序出现异常,会把这些纪录到core文件中

ubuntu为了操作体验,不吐核

使用GDB的步骤

gdb配合core快速定位错误:

    1.编译代码添加调试信息

        gcc -g xxx.c

    2.重新执行程序,让系统吐出带调试信息的core文件

        ./a.out

    3.使用gdb+core文件调整程序,找出错误位置

        gdb ./a.out core

    4.使用run/where命令找出错误位置

        (gdb)

        run||where(查询错误位置)

        q(退出) 如果程序执行完毕,直接退出,否则需要确认

        1(显示最近10行代码)

        1 n (显示第n行附近代码)

    5.打断点

        b n/func 可以让程序在第n行或某个函数停止下来

    6.调试

        run 直接执行程序,直到断点停止

        start 执行程序,在程序第一行停下

        n/next  

        s/step  单步执行

        print+变量 输出变量的值

        set var 变量名=xxx

    7.调用函数

        call func()

                                                                                                                                            #大师兄

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值