• Linux高级编程--gdb调试


    作者简介:大家好我是小唐同学(๑>؂<๑),为梦想而努力的小唐,让我们一起加油!!!

    个人主页:小唐同学(๑>؂<๑)的博客主页

    大二学生一枚,可以互相交流知识

    目录

    gdb介绍:

    功能:

    gcc生成可执行文件:

    练习题:

    答案:


    gdb介绍:

    gdb是一个功能强大,运行稳定的程序调试工具,通过gcc配合的基于Linux的软件开发提供一个完善的调试环境

    功能:

    设置断点
    单步执行
    查看程序中的变量的值
    动态改变运行时变量的值
    分析程序崩溃的原因


    gcc生成可执行文件:

    gcc add.c -o test
    ./test    执行程序
    启动gdb进行调试
    在使用gdb调试程序前,可执行文件程序编译应该加上 -g
    命令:
    gcc add.c -o test -g
    生成的文件是带调试信息表的文件(文件变大)
    进入gdb调试方式:
    gdb test
    r:运行程序
    break:设置断点(break 9---在第9行停止)
    next命令:单步运行到函数调用处,用next命令进行单步执行,会自动执行函数内部语句(无论函数内部有多少代码,next指令都会一步执行完),并返回被调用处
    step:单步执行需要跳转到函数内部执行,就要用step命令跳转到函数内部去执行,在函数内部再用next命令进行单步执行
    print:在程序运行过程中,可以通过print命令来查看某个变量的值,进而跟踪观察这个变量。看这个变量在赋值后和希望值是否一致.
    list:查看源程序(默认10行)
    continue:继续运行程序直到结束或下一个断点处
    quit   退出gdb调试

    练习题:

    为了利用 GDB 调试 C/C++程序,在编译时需要把调试信息加载到可执行文件中,则用 GCC 编译源程序时,需要利用选项( )

    • A、

      –O2

    • B、

      -E  

    • C、

      –Wall 

    • D、

      -g

    2【单选题】

    在GDB调试程序下,若需要列出当前断点处的程序源代码则输入( )。

    • A、

      l

    • B、

      c

    • C、

      b

    • D、

      p

    3【单选题】

    在GDB调试程序下,若需要在当前断点处的单步执行程序则输入( )。

    • A、

      l

    • B、

      n

    • C、

      b

    • D、

      c

    4【判断题】

    gdb可直接调试C源程序,无需对其编译。()

    5【判断题】

    GDB命令“l”的功能为查看变量信息。()

    答案:

    dabxx

  • 相关阅读:
    网络信息通信的安全问题以及解决方法
    git rebase的基本使用
    容器化管理k8s部署踩坑记录
    Checkpoint机制和生产配置
    单词倒排——c语言解法
    数据科学、大数据、人工智能、机器学习的区别是什么?
    Spring Boot Jasypt 3.0.4 报错---算法加解密使用不一致
    给电脑重装系统后修改远程桌面端口的方法
    Java 19 新功能介绍
    Python 字符串详解
  • 原文地址:https://blog.csdn.net/m0_61469860/article/details/126899101