# 得到命令的帮助信息
## 技巧
使用`help`命令可以得到gdb的命令帮助信息:
(1)`help`命令不加任何参数会得到命令的分类:
(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.
(2)当输入`help class`命令时,可以得到这个类别下所有命令的列表和命令功能:
(gdb) help data
Examining data.
List of commands:
append -- Append target code/data to a local file
append binary -- Append target code/data to a raw binary file
append binary memory -- Append contents of memory to a raw binary file
append binary value -- Append the value of an expression to a raw binary file
append memory -- Append contents of memory to a raw binary file
append value -- Append the value of an expression to a raw binary file
call -- Call a function in the program
disassemble -- Disassemble a specified section of memory
display -- Print value of expression EXP each time the program stops
dump -- Dump target code/data to a local file
dump binary -- Write target code/data to a raw binary file
dump binary memory -- Write contents of memory to a raw binary file
dump binary value -- Write the value of an expression to a raw binary file
......
(3)也可以用`help command`命令得到某一个具体命令的用法:
(gdb) help mem
Define attributes for memory region or reset memory region handling totarget-based.
Usage: mem auto
mem <lo addr> <hi addr> [<mode> <width> <cache>],
where <mode> may be rw (read/write), ro (read-only) or wo (write-only),
<width> may be 8, 16, 32, or 64, and
<cache> may be cache or nocache
(4)用`apropos regexp`命令查找所有符合`regexp`正则表达式的命令信息:
(gdb) apropos set
awatch -- Set a watchpoint for an expression
b -- Set breakpoint at specified line or function
br -- Set breakpoint at specified line or function
bre -- Set breakpoint at specified line or function
brea -- Set breakpoint at specified line or function
......
详情参见[gdb手册](https://sourceware.org/gdb/onlinedocs/gdb/Help.html)
## 贡献者
nanxiao
- 版权
- 内容
- 调整窗口大小
- 一个gdb会话中同时调试多个程序
- 调试已经运行的进程
- 在匿名空间设置断点
- 在程序地址上打断点
- 在程序入口处打断点
- 在函数的第一条汇编指令打断点
- 在文件行号上打断点
- 使用断点命令改变程序的执行
- 直接执行函数
- 为exec调用设置catchpoint
- 为fork调用设置catchpoint
- 为ptrace调用设置catchpoint
- 为系统调用设置catchpoint
- 为vfork调用设置catchpoint
- 改变字符串的值
- 配置gdb init文件
- 设置源文件查找路径
- 自动反汇编后面要执行的代码
- 显示程序原始机器码
- 显示将要执行的汇编指令
- 打印内存的值
- 退出正在调试的函数
- 为调试进程产生core dump文件
- 得到命令的帮助信息
- 忽略断点
- 信息显示
- 打印函数堆栈帧信息
- 列出函数的名字
- 查看信号处理信息
- 显示共享链接库信息
- 跳转到指定位置执行
- 显示汇编代码窗口
- 显示寄存器窗口
- 加载可执行程序和core dump文件
- 打印程序进程空间信息
- 在Solaris上使用maintenance命令查看线程信息
- 将源程序和汇编指令映射起来
- 修改PC寄存器的值
- 命令行选项的格式
- 信号发生时是否把信号丢给程序处理
- 修改被调试程序的二进制文件
- 支持预处理器宏信息
- 打印STL容器中的内容
- 打印数组的索引下标
- 打印ASCII和宽字符字符串
- 打印数组中任意连续元素值
- 按照派生类型打印对象
- 打印调用栈帧中变量的值
- 打印大数组中的内容
- 打印函数局部变量的值
- 打印程序动态分配内存的信息
- 打印进程内存信息
- 打印寄存器的值
- 信号发生时是否打印信号信息
- 打印源代码行
- 打印静态变量的值
- 查看线程信息
- 打印变量的类型和所在文件
- gdb退出时不显示提示信息
- 在gdb中执行cd和pwd命令
- 在gdb中执行shell命令和make
- 保存已经设置的断点
- 保存历史命令
- 选择函数堆栈帧
- 给程序发送信号
- 设置条件断点
- 打印尾调用堆栈帧信息
- 同时调试父进程和子进程
- 设置汇编指令格式
- 调试子进程
- 指定程序的输入输出设备
- 记录执行gdb的过程
- 输出信息多时不会暂停输出
- 每行打印一个结构体成员
- 设置被调试程序的参数
- 设置命令提示符
- 设置命令提示符
- 设置读观察点
- 设置读写观察点
- 只允许一个线程运行
- 按何种方式解析脚本文件
- 进入不带调试信息的函数
- 设置临时断点
- 设置变量的值
- 设置观察点只针对特定线程生效
- 设置观察点
- 显示gdb版权相关信息
- 不显示线程启动和退出信息
- 显示gdb版本信息
- 启动时不显示提示信息
- 是否进入带调试信息的函数
- 信号发生时是否暂停程序
- 替换查找源文件的目录
- 让catchpoint只触发一次
- 进入和退出图形化调试界面
- 向上或向下切换函数堆栈帧
- 使用“$_”和“$__”变量
- 使用“$_exitcode”变量
- 使用“$_siginfo”变量
- 使用“$_thread”变量
- 使用命令的缩写形式