![](https://csdnimg.cn/release/download_crawler_static/1277566/bg6.jpg)
gdb 的命令很多,gdb 把之分成许多个种类。help 命令只是例出 gdb 的命令种类,如果要
看种类中的命令,可以使用 help 命令,如:help breakpoints,查看设置断点的所有命令。
也可以直接 help 来查看命令的帮助。
gdb 中,输入命令时,可以不用打全命令,只用打命令的前几个字符就可以了,当然,命令
的前几个字符应该要标志着一个唯一的命令,在 Linux 下,你可以敲击两次 TAB 键来补齐
命令的全称,如果有重复的,那么 gdb 会把其例出来。
示例一:在进入函数 func 时,设置一个断点。可以敲入 break func,或是直接就是 b func
(gdb) b func
Breakpoint 1 at 0x8048458: file hello.c, line 10.
示例二:敲入 b 按两次 TAB 键,你会看到所有 b 打头的命令:
(gdb) b
backtrace break bt
(gdb)
示例三:只记得函数的前缀,可以这样:
(gdb) b make_ <按 TAB 键>
(再按下一次 TAB 键,你会看到:)
make_a_section_from_file make_environ
make_abs_section make_function_type
make_blockvector make_pointer_type
make_cleanup make_reference_type
make_command make_symbol_completion_list
(gdb) b make_
GDB 把所有 make 开头的函数全部例出来给你查看。
示例四:调试 C++的程序时,有可以函数名一样。如:
(gdb) b 'bubble( M-?
bubble(double,double) bubble(int,int)
(gdb) b 'bubble(
你可以查看到 C++中的所有的重载函数及参数。(注:M-?和“按两次 TAB 键”是一个意思)
要退出 gdb 时,只用发 quit 或命令简称 q 就行了。
GDB 中运行 UNIX 的 shell 程序
————————————
在 gdb 环境中,你可以执行 UNIX 的 shell 的命令,使用 gdb 的 shell 命令来完成:
shell
调用 UNIX 的 shell 来执行,环境变量 SHELL 中定义的 UNIX 的 shell 将会被用来执行,如果
SHELL 没有定义,那就使用 UNIX 的标准 shell:/bin/sh。(在 Windows 中使用 Command.com
或 cmd.exe)