zoukankan      html  css  js  c++  java
  • gdb调试器

    目的:
    对编译好的程序进行调试工作,主要功能:
    1、启动被调试程序;
    2、让被调试程序在指定位置停住;
    3、当程序停住时,可检查程序状态(如变量值)。

    步骤:
    1、编译生成可执行文件:
    gcc -g test.c -o test

    2、启动gdb: gdb test
    3、设置断点
    4、运行程序:run
    5、单步运行:next
    6、继续运行:continue

    说明:
    当运行gdb hello.c,运行(r)时,如果提示需要debuginfo包,这是需要
    安装glibc-debuginfo和glibc-debuginfo-common包。
    在centos6.5上,需要的包为glibc-debuginfo-2.12-1.132.el6.x86_64.rpm、
    glibc-debuginfo-common-2.12-1.132.el6.x86_64.rpm。
    安装后,再次运行gdb,将顺利进行。


    gdb命令:
    l(list) 查看程序
    b(break) 函数名 在某函数入口处设断点
    b(break) 行号 在指定行号添加断点
    b(break) 文件名:行号 在指定文件的指定行号添加断点
    b(break) 行号 if 条件 当条件为真时,指定行号处断点生效

    info b 查看所有设置的断点
    delete 断点编号 删除断点
    r(run) 开始运行程序
    n(next) 单步运程序(不进入子函数)
    s(step) 单步运程序(进入子函数)
    c(continue) 继续运行程序

    p(print)变量名 查看指定变量值
    finish 运行程序,知道当前函数结束
    watch 变量名 对指定变量进行监控
    q(quit) 退出gdb

  • 相关阅读:
    植物大战僵尸智慧树和金币的简单破解(二)
    植物大战僵尸任意阳光的简单破解(一)
    Bash漏洞分析
    树莓派4 安装vim8.2 编译python3支持
    JAVA实现剑指offer 大神博主网址
    IO流+集合完成功能
    Java学习IO流处理
    Java中拷贝图片IO流
    Java学习list集合练习二
    java学习list集合训练
  • 原文地址:https://www.cnblogs.com/paladinzxl/p/4828986.html
Copyright © 2011-2022 走看看