GDB调试指南:常用命令详解

需积分: 10 8 下载量 136 浏览量 更新于2024-07-25 收藏 236KB PDF 举报
"gdb入门.pdf 是一份介绍GDB(GNU调试器)基础使用的文档,主要涵盖GDB的各种命令和调试技巧。" GDB(GNU调试器)是Linux和其他类UNIX系统中广泛使用的源代码级调试工具,它允许开发者对程序进行运行时调试,检查变量值、设置断点、单步执行等。以下是对GDB常用命令的详细解释: 1. **编译命令**: - `gcc -g -o app main.c`:编译C源文件,并添加调试信息(-g选项)。 2. **启动GDB**: - `gdb ./app`:启动GDB,并加载指定的可执行文件`app`。 3. **查看代码**: - `disassemble main`:查看`main`函数的汇编代码。 - `list`:列出源代码的一部分。 4. **查看内存和寄存器**: - `p/x *0xbffff9b8`:打印内存地址`0xbffff9b8`处的值,以十六进制显示。 - `info registers`:显示所有寄存器的当前值。 - `p/x $eax`:查看`eax`寄存器的值,其他如`$pc`, `$fp`, `$sp`, `$ps`分别对应程序计数器、帧指针、栈指针和处理器状态。 5. **断点管理**: - `break *0x804850d`:在指定的地址设置断点。 - `delete breakpoint 1`:删除编号为1的断点。 - `clear`:删除当前停止位置的断点。 6. **程序状态**: - `info break`:查看断点列表。 - `info files`:显示被调试文件的详细信息。 - `info func`:显示所有函数名称。 - `info local`:查看当前函数的局部变量信息。 - `info prog`:显示程序的执行状态。 - `info var`:显示所有全局和静态变量名称。 7. **控制执行**: - `next`:不进入函数的单步执行。 - `step`:进入函数的单步执行。 - `backtrace`或`where`:显示调用栈跟踪。 - `run`:开始或继续程序执行。 - `continue`:从断点处继续执行。 - `down`/`up`:在栈帧之间移动,查看不同层级的函数调用。 8. **其他命令**: - `cd`:改变当前工作目录。 - `commands`:为断点设置一组执行命令。 - `display`:在程序停止时自动显示变量或表达式的值。 - `frame`:选择并显示特定的堆栈帧。 - `jump`:在源代码中跳转到新的位置执行。 - `kill`:强制结束被调试的程序。 - `ptype`:查看数据类型的定义。 - `quit`:退出GDB。 - `reverse-search`:反向搜索源代码中的正则表达式。 - `set variable`:设置变量的值。 - `signal`:向程序发送信号。 - `undisplay`:取消自动显示的变量或表达式。 - `until`:结束当前循环或重复。 - `watch`:设置数据监测点,当变量的值发生变化时暂停执行。 了解并熟练使用这些命令,可以极大地提升你在调试过程中的效率,帮助定位和修复程序中的问题。GDB的强大功能使其成为开发复杂软件时不可或缺的工具。
2012-10-12 上传
GDB使用手册 GDB调试器使用手册(一) ................................................................................................. 1 使用GDB: ........................................................................................................................ 1 GDB简介 ......................................................................................................................... 3 GDB的作者 ..................................................................................................................... 3 GDB调试器使用手册(二) ................................................................................................. 4 GDB调试器使用手册(三) ................................................................................................. 9 运行GDB(一些详细的说明) ........................................................................................... 9 谈谈模式的设置............................................................................................................. 11 GDB调试器使用手册(四) ............................................................................................... 12 退出gdb ......................................................................................................................... 12 Shell 命令 ....................................................................................................................... 12 GDB 命令 ...................................................................................................................... 12 Command语法 ............................................................................................................... 13 GDB调试器使用手册(五) ............................................................................................... 13 输入命令的技巧............................................................................................................. 13 GDB调试器使用手册(六-1) ............................................................................................ 14 得到帮助 ........................................................................................................................ 14 在gdb下运行你的程序 ................................................................................................. 16 GDB调试器使用手册(六-2)程序环境 ............................................................................ 19 工作路径 ........................................................................................................................ 19 你程序的输入/输出 ....................................................................................................... 20 调试一个已经运行的程序: ......................................................................................... 20 GDB调试器使用手册(七) ............................................................................................... 21 结束子进程 .................................................................................................................... 21 附加的进程信息............................................................................................................. 21 对多线程程序的调试 ..................................................................................................... 22 调试多进程的程序 ......................................................................................................... 23 停止和继续 .................................................................................................................... 24 断点,观察点和异常 ..................................................................................................... 24 DB调试器使用手册(八) ............................................................................................... 25 设置断点 ........................................................................................................................ 25 设置观察点 .................................................................................................................... 27 断点和异常 .................................................................................................................... 28 DB调试器使用手册(九) ............................................................................................... 29 断点条件 ........................................................................................................................ 29 断点命令列表................................................................................................................. 31 断点菜单 ........................................................................................................................ 32