GDB
GDB(GDB: The GUN Project Debugger),GUN 项目调试器,用于查看另一个程序在执行过程中正在执行的操作,或该程序崩溃时正在执行的操作。
快速参考
help:列出命令类型,获取命令帮助。start:启动程序并立即在程序的入口(通常是main函数)处设置一个断点。run [arglist]:启动你的程序(可以指定arglist)。bt(backtrace):显示程序调用栈的回溯信息。break [file:][function|line]:在函数或行(文件中)设置断点。clear:清除一处断点info break/info watch:显示关于断点和监视点的信息
p(print)expr:打印expr的值。info locals:显示当前栈帧中所有局部变量的名称及其当前值。
s(step):执行下一行程序(停止后);碰到函数调用时单步进入(step into)。n(next):执行下一行程序(停止后);碰到函数调用时单步跳过(step over)。c(continue):继续运行程序。attach pid:将 GDB 绑定到一个正在运行的进程上,这样就可以对其进行调试。detach:将 GDB 与进程解绑
list:列出接下来的10行源代码,加上一个-可以列出之前的 10 行源代码。quit/exit:退出 GDB 。
有用选项
-tui:启动 GDB 的文本用户界面(Text User Interface)。-x:用于指定一个脚本文件,GDB 在启动时会自动从该文件中读取并执行其中的 GDB 命令。bashgdb -x <命令文件> <可执行文件>