zoukankan      html  css  js  c++  java
  • GDB调试命令总结

    GDB的功能

    1.启动被调试程序

    2.让被调试的程序在指定位置停住

    3.当程序停住的时候,可以检查程序状态,变量值

    用法:

      gcc -g test.c -o test

      gdb

    命令:

    • 查看源代码

        list/l 空 or 行号 or 函数名 

      

    • 直接enter,重复执行上一命令
    • run/r  运行至下一个断点停下来 or 如果没有断点,直接运行结束
    • start   运行进入主函数(main())停下来
    • .断点

        1)     设置断点

                 break/b----行号 or 函数名 [if condition 命中条件]

        2)     info break/b 查看断点信息

        3)     调试

               next/n  单步执行,不进入函数

               step/s  单步执行,进入函数

    • continue/c   继续执行,在下一断点处停下
    • finish     结束当前函数的运行
    • 清除断点

        清除所有断点 clear

        清除某个模块的断点    clear filename

        清除某个函数中的断点       clear function

        清除某行断点       clear 行号

        delete 断点编号

    • disable 断点编号              使某个断点失效
    • enable 断点编号        使某个断点有效
    • display 表达式           每当程序运行至断点都会显示
    • watch 表达式             设置观察点
    • whatis 表达式            显示某个表达式的数据类型
    •  查看变量 or表达式的值

        print/p 表达式           显示某个表达式的值

        p *array@len             显示一个动态数组array

        输出格式:p/x i

    x

    16进制

    d

    10进制

    u

    无符号19进制

    o

    8进制

    t

    2进制

    a

    16进制

    c

    字符表示

    f

    浮点表示

    • 堆栈相关命令

    backtrace/bt                   查看堆栈情况

    info register                    查看寄存器(除了浮点寄存器)

    info all register               查看所有的寄存器

    info stack                         查看堆栈使用情况

    info args                          查看函数的参数以及其值

    info locals                        查看函数的所有局部变量

    info catch                        查看函数抛出的异常

    • 调试运行环境相关命令

    set args arg1 arg2         设置运行参数

    show args                       显示运行参数

    set width num                设置GDB显示行宽

    return <返回值>             改变程序流程,直接结束当前函数并指定值返回

  • 相关阅读:
    Linux记录-批量安装zabbix(转载)
    k8s-基础环境配置(六)
    k8s记录-ntpd时间同步配置(五)
    k8s记录-flanneld+docker网络部署(四)
    Java面试通关要点汇总集
    Java并发编程系列
    码农需要知道的“潜规则”
    领域驱动设计文章
    自动化测试的一些思考
    轻量级爬虫框架
  • 原文地址:https://www.cnblogs.com/SimonKly/p/7465492.html
Copyright © 2011-2022 走看看