• Gdb 调试


     

    GDB是一个由GNU开源组织发布的、UNIX/Linux操作系统下的、基于命令行的、功能强大的程序调试工具。

    1. 运行gdb。
    2. 进行调试分析。
    • 调试命令:
    help            帮助
    file       <程序名字>
    r(run)      <程序运行>

    断点:
    b(break)     <行号>
    b         <函数名称>
    b         *<函数名称>
    b         *<代码地址>
    break 10 if size==100  条件断点
    delete 删除所有断点
    delete 3 删除标号为3的断点
    clear N  除行N上面的所有断点
    continue  继续运行程序直接运行到下一个断点


    s         在源码处,相当于其它调试器中的 Step Into (单步跟踪进入)
    n         在源码处,相当于其它调试器中的 Step Over (单步跟踪)

    si        在汇编代码处 Step Into (单步跟踪进入)
    ni   在汇编代码处 Step Over (单步跟踪)

    n 1        走一步
    n 3        走三步   

    p(print)   打印变量值

    display   打印汇编代码

    i(info) 显示信息
    q(quit) 退出

    bt(backstack) 堆栈信息
    f(frame)

    set arg     设置程序入口参数
    show args    显示设置的参数

    finish/return  执行完本函数,返回上一层

    call/print      调用函数
    print var(和上面的不同) 显示被调试的语言中任何有效的表达式

    格式支持:/x /d /u

    x  按十六进制格式显示变量。 

    d  按十进制格式显示变量。 

    u  按十六进制格式显示无符号整型。 

    o  按八进制格式显示变量。 

    t  按二进制格式显示变量。 

    a  按十六进制格式显示变量。 

    c  按字符格式显示变量。 

    f  按浮点数格式显示变量。 


    print *a@10  a是一个数组,10个元素
    •  file name

    •  run name

    •  b
    •  b *func / b 行数

    •  p

    •  display

    •  i  r(查看寄存器的内容)

    •  bt

    • set arg / show args

    未完待续! 

    DeeLMind'Blog| 再坚持10十年就不信还不成大神!!!懂进攻-知防守--先正向-后逆向
  • 相关阅读:
    自制2048小游戏(附源码)
    PyQt5设计思路(长期更新,每写一篇新博客都会更新一次)
    Orthogonal table 实现理论
    Convex Hull 实现理论
    elasticsearch 命令操作
    Springboot
    2018/3/8错题解析
    初始MyBatis
    如何做好微信订阅号
    在路上,三线城市互联网创业记录
  • 原文地址:https://www.cnblogs.com/DeeLMind/p/6822264.html
Copyright © 2020-2023  润新知