zoukankan      html  css  js  c++  java
  • gdb调试基本命令(常用)

    gdb调试命令
    1>. 启动gdb
      gdb 可执行程序的名字
    2>. 查看代码
        l -- 查看当前文件 -- 默认main函数
      2. 查看其它文件: l 文件名:行号, 显示指定行号的上下文
        l 函数名 -- 当前文件
        l 文件名:函数名 -- 指定文件
      3. 查看默认显示的行数: show listsize
      4. 设置: set listsize 行数
    3>. 断点操作
      1. 当前文件设置断点: b(break) 行号
      2. 指定文件: b 文件名:行号
        b 函数名 -- 当前文件的这个函数位置打断点
        b filename:funcName -- 指定文件的指定函数
      3. info(i) b(break)
      4. 删除断点:
        d 删除所有断点
        d m-n 删除范围 (m, n断点的编号)
        d m n k 删除指定断点
      5. 使断点无效: disable(dis) 断点编号
      6. 是断点再次生效: enable(ena) 断点编号
      7. 设置条件断点: b 行号 if 变量==value
    4>. 调试相关命令
      1. run(r) -- 执行gdb在断点处停止
      2. start -- ....., 只执行一行就停止了
      3. c(continue)继续运行, 停在下一个断点的位置
      4. 单步调试:
        n(next) -- 往下执行一行代码, 不会进入到函数内部
        s(step) -- 往下执行一行代码, 会进入到函数内部
        从函数内部出来: finish
      5. 打印变量的值:
        p 变量名
        ptype 变量名 -- 打印变量的类型
        自动追踪变量的值:
        display 变量名
        取消自动追踪:
        undisplay 编号
        info display -- 获取编号
      6. 设置变量的值: set var 变量名=value
      7. 退出gdb : quit(q)

    5>. 查看变量和类型
    6>. 退出gdb

    技术是一张窗户纸,一捅就破,come!
  • 相关阅读:
    设计模式-工厂模式-场景以及优缺点-目的就是应对变化 (国江面试回答的)
    开启otl的64位长整数支持
    otl翻译(11) -- OTL的迭代器
    OTL翻译(10) -- OTL的流缓冲池
    OTL翻译(9) --常量的SQL语句
    OTL翻译(8) -- otl_long_string/otl_long_unicode_string类
    OTL翻译(7) -- otl_exception类
    OTL翻译(6) -- otl_connect类
    OTL翻译(5) -- otl_stream流相关绑定变量
    OTL翻译(4) -- otl_stream类
  • 原文地址:https://www.cnblogs.com/adeng-x/p/6248273.html
Copyright © 2011-2022 走看看