chap2 初识 GDB

1. GDB 相关概念

  • GDB, The GNU Project Debugger, 是 Linux 下功能全面的调试工具。
  • GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段
  • GDB 主要用来调试 C 和 C++ 程序

2. GDB 的进入和退出

  • gcc 构建可执行程序时加上 -g 参数

    $ gcc -g -obugging bugging.c -m32

    -o 指定输出文件名, -m32 构建32位可执行程序

  • 输入 gdb program 进入 gdb

    $ gdb bugging

  • 在 gdb 命令行界面,输入run 执行待调试程序

    (gdb) run

  • 在 gdb 命令行界面,输入quit 退出 gdb

    (gdb) quit

3. GDB 命令行界面使用技巧

  • 命令补全

    任何时候都可以使用 TAB 进行补全,如果只有一个待选选项则直接补全;否则会列出可选选项,继续键入命令,同时结合 TAB 即可

  • 部分 gdb 常用命令一览表

命令 简写形式 说明
list l 查看源码
backtrace bt、where 打印函数栈信息
next n 执行下一行
step s 一次执行一行,遇到函数会进入
finish 运行到函数结束
continue c 继续运行
break b 设置断点
info breakpoints 显示断点信息
delete d 删除断点
print p 打印表达式的值
run r 启动程序
until u 执行到指定行
info i 显示信息
help h 帮助信息

使用 (gdb) help command 可以查看命令的用法

  • 执行 Shell 命令

    (gdb) !shell 命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 程序调试的基本思想是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环过程,根据现象如何假设错误原...
    Manfred_Zone阅读 16,568评论 0 26
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,514评论 9 467
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,008评论 25 708
  • Ansible 安装:apt-get install python-crypto python-lxml pipp...
    Jackzzg阅读 1,728评论 0 3
  • 回到家,虽然身体已是疲惫不堪,但这俩天收获的让自己对接下来的工作充满了激动。 接下来, 分类整理这些材料, 根据客...
    王德彪阅读 176评论 0 0