• 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!
  • 相关阅读:
    冒泡排序改
    冒泡排序 (基本类型),(引用类型)
    关于随机数列,对给定数目的自0开始步长为1的数字序列进行乱序。(可用作洗牌)
    Java基础之 移位操作
    保留代码,狼羊过河的问题(暂未理解)
    非计算机专业学习计算机
    CompletableFuture 捕获异常方式:handle、whenComplete、exceptionally
    nio socket聊天室
    java socket server接收并返回数据
    java socket套接字编程入门
  • 原文地址:https://www.cnblogs.com/adeng-x/p/6248273.html
Copyright © 2020-2023  润新知