zoukankan      html  css  js  c++  java
  • 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十年就不信还不成大神!!!懂进攻-知防守--先正向-后逆向
  • 相关阅读:
    jdk动态代理底层实现
    spring-FactoryBean
    大型网站技术架构 核心原理与案例分析 pdf
    实战JAVA虚拟机 JVM故障诊断与性能优化 pdf
    《实战Java高并发程序设计》pdf
    mysql-注意点
    Json入门
    inflate, findViewById与setContentView的区别与联系
    提高编程能力的7条建议
    JDBC之一:JDBC快速入门
  • 原文地址:https://www.cnblogs.com/DeeLMind/p/6822264.html
Copyright © 2011-2022 走看看