文章目录 GDB常用命令 1 信息显示 1.1 显示版本信息:`show version` 1.2 启动时不显示信息:`gdb -q` 1.3 退出时不显示提示信息:`set confirm off` 1.4 输出信息是不暂停:`set pagination off` 或者` set height 0` 2 变量 2.1 设置变量的值:`set var variable=expr` 3 字符串 3.1 打印ASCII字符串:` x/s str_name` 3.2 设置字符串的值 4 函数 4.1 开始执行程序:`start` 4.2 列出可执行文件的所有函数名称:`info functions` 4.3 单步调试(不进入函数内部):`next(n)` 4.4 单步调试(进入函数):`step(s)` 4.5 退出正在调试的函数:`finish` 4.6 直接调用函数执行:`call function_name` 或者 `print function_name` 4.7 选择函数栈帧:`frame n(f n)` 4.8 打印函数堆栈帧信息:`info frame(i frame)` 5 断点 5.1 在程序地址上打断点:`b *address` 5.2 在程序入口处打断点 5.3 在文件行号上打断点:`b linenum` 5.4 查看已经创建的断点:`info breakpoints(i b)` 5.5 保存已经设置的断点:`save breakpoints file-name-to-save` 5.6 设置临时断点(生效一次):`tbreak(tb)` 5.7 设置条件断点:`break … if cond` 6 观察点 6.1 设置观察点:`watch(wa)` 6.2 设置观察点只针对特定线程生效:`watch expr thread threadnum` 6.3 设置读观察点:`rwatch(rw)` 6.4 设置读写观察点:`awatch(aw)` GDB常用命令 1 信息显示 1.1 显示版本信息:show version 1.2 启动时不显示信息:gdb -q 1.3 退出时不显示提示信息:set confirm off 1.4 输出信息是不暂停:set pagination off 或者set height 0 2 变量 2.1 设置变量的值:set var variable=expr 3 字符串 3.1 打印ASCII字符串:x/s str_name 例如: # char str1[] = "abcd";