用help 功能,你可以获得GDB 的命令信息。
help
h 你可以用help(缩写h)不带参数来显示一个命令分类的简短列表。
(gdb) help List of classes of commands: aliases -- Aliases of other commands breakpoints -- Making program stop at certain points data -- Examining data files -- Specifying and examining files internals -- Maintenance commands obscure -- Obscure features running -- Running the program stack -- Examining the stack status -- Status inquiries support -- Support facilities tracepoints -- Tracing of program execution without stopping the program user-defined -- User-defined commands Type "help" followed by a class name for a list of commands in that class. Type "help all" for the list of all commands. Type "help" followed by command name for full documentation. Type "apropos word" to search for commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb)
help class
用help 分类作为参数,你可以得到这个分类里命令列表。比如,下面是status 分类的帮
助显示:
(gdb) help status Status inquiries. List of commands: info -- Generic command for showing things about the program being debugged info address -- Describe where symbol SYM is stored info all-registers -- List of all registers and their contents info args -- Argument variables of current stack frame info auto-load -- Print current status of auto-loaded files info auto-load gdb-scripts -- Print the list of automatically loaded sequences of commands info auto-load libthread-db -- Print the list of loaded inferior specific libthread_db info auto-load local-gdbinit -- Print whether current directory .gdbinit file has been loaded info auto-load python-scripts -- Print the list of automatically loaded Python scripts info auto-load-scripts -- Print the list of automatically loaded Python scripts info auxv -- Display the inferior's auxiliary vector info bookmarks -- Status of user-settable bookmarks info breakpoints -- Status of specified breakpoints (all user-settable breakpoints if no argument) info checkpoints -- IDs of currently known checkpoints info classes -- All Objective-C classes info common -- Print out the values contained in a Fortran COMMON block info copying -- Conditions for redistributing copies of GDB info dcache -- Print information on the dcache performance info display -- Expressions to display when program stops info extensions -- All filename extensions associated with a source language info files -- Names of targets and files being debugged info float -- Print the status of the floating point unit info frame -- All about selected stack frame info frame-filter -- List all registered Python frame-filters info functions -- All function names info handle -- What debugger does when program gets various signals ---Type <return> to continue, or q <return> to quit---
help command
用命令名作参数,GDB 会显示一段如何使用这个命令的信息。
apropos args
apropos 命令会在命令和文档里文档搜索这个args 指定的正则表达式。这个命令会打印
所有符合的结果。例如:
(gdb) apropos tbreak
tbreak -- Set a temporary breakpoint
complete args
complete args 命令列出所有可能的补全结果。用args 指定你想要的命令的开头字母。例
如:
(gdb) complete i if ignore ignore-errors inferior info init-if-undefined interpreter-exec interrupt (gdb)
更进一步的,你可以用GDB 命令info 和show 来查询你程序的状态或者GDB 本身的状态。
这两个命令都支持多个主题的查询;
info 和show 下的列表列出了所有的子命令。
info 这个命令(缩写i)可以描述程序的状态。例如,你可以用info args 显示传递给函
数的参数,用info registers 来列出
寄存器数据,用info breakpoints 列出你设置的断点。你可以用help info 来取得info 的
所有子命令。
set 你可以用set 命令把一个表达式的值来设置一个环境变量。例如,你可以用set prompt
$来设置GDB 提示符。
show 和info 不同,show 描述的GDB 本身的状态。你可以用set 命令改变大多数你可以
用show 显示的内容。例如,你可以用set
radix 来设置显示的数值进制系统,或者用show radix 来显示数值进制。
你可以用不带参数的show 命令来显示所有可以设置的参数和它们的值;你也可以用
info set。这两个命令是一样的。
还有其余3 种show 子命令,这3 中命令缺乏对应的set 命令:
show version
显示当前GDB 的版本。你应该在GDB bug 报告中包含版本信息。如果你的机器上有多个版本的GDB,你可能需要知道哪个版本是你正在运行的;随着GDB 的发展,新的命令会引入,而一些旧的将废弃。同时,许多系统供应商移植了不同版本的
GDB,在GNU/Linux 发行版也存在着多种版本的GDB.版本号和你启动时显示一样。