gdb的使用

C++调试工具及调试技术

  • gdb的使用及常用命令

    1. g++ 编译附加调试信息

      命令:g++ 文件名.cpp -o 可执行文件名.exe -g //-g附加调试信息

    2. 启动gdb

      命令:gdb 可执行文件名.exe -tui //-tui开启图形界面,不加-tui命令行界面
      gdb -p pid //调试正在运行的进程

    3. 查看堆栈

      命令:

      • bt/where
      • 查看堆栈
      • bt full完整版,显示local变量
      • bt n 显示前n个堆栈
    4. 查看栈帧

      • frame //可简写为f
      • f + number表示去到对应的栈帧
      • up/down 栈帧上下切换
    5. 加断点

      • 命令:break 行号(或函数名) //break可简写为b

      • 显示所有断点:i b

      • 清除所有断点:d b

      • 删掉第n个断点: d n //n为断电号n

      • 清除第n行的断点:c n

    6. 运行程序:

      命令:run // 可简写为r

    7. 查看内存

      命令:x

      • examine
      • 查看内存
      • x/x 以十六进制输出
      • x/d 以十进制输出
      • x/c 以单字符输出
      • x/i 反汇编 – 通常,我们会使用 x/10i \(ip-20 来查看当前的汇编(\)ip是指令寄存器)
      • x/s 以字符串输出
        命令: info locals //查看当前栈局部变量
    8. 列出源代码

      命令:list //简写为l

    9. 执行控制

      • next n
      • step s
      • continue c
      • until u
    10. 打印一系列表达式

      命令:print //可简写为p

posted @ 2021-04-20 16:14  bear-Zhao  阅读(921)  评论(1编辑  收藏  举报