前言
gdb
(GNU调试器)是一个强大的命令行调试工具,用于调试C和C++程序。
正文
以下是一些在gdb
实战中最常用的指令:
-
启动和配置
gdb [executable]
- 启动gdb并加载可执行文件。set args [arguments]
- 设置传递给程序的命令行参数。
-
执行控制
run
(r
) - 运行程序直到它正常终止或遇到断点。continue
(c
) - 从暂停状态继续执行程序。可以从断点A跳转到断点B。next
(n
) - 执行下一行代码,不进入函数调用。step
(s
) - 执行下一行代码,如果遇到函数调用则进入函数内部。finish
- 继续执行直到当前函数返回。
-
断点管理
break [function]
(b
) - 在函数开始处设置断点。break [filename:]lineno
(b
) - 在指定文件的指定行上设置断点。info breakpoints
(i b
) - 显示所有已设置的断点。delete [number]
(d
) - 删除特定断点。
-
检查状态
print [expression]
(p
) - 打印表达式的值。info registers
(i r
) - 显示寄存器的内容。backtrace
(bt
) - 显示调用堆栈。
-
内存和数据操作
x /format address
- 检查内存地址的内容。set variable var = value
- 设置变量的值。
-
其他
quit
(q
) - 退出gdb。help [command]
- 显示有关命令的帮助信息。list
(l
) - 显示源代码。where
- 显示当前位置的函数调用信息。
总结
在使用gdb
进行调试时,熟练掌握这些基本指令将极大地提高效率。