GDB 是一个功能强大的调试工具,提供了许多命令来帮助您调试程序。以下是一些常用的 GDB 调试命令:
-
运行程序:
run
: 运行程序。start
: 从程序的起始点开始运行。
-
设置断点:
break [line_number]
: 在指定行设置断点。break [function_name]
: 在指定函数设置断点。break [file_name:line_number]
: 在指定文件的指定行设置断点。
-
查看断点:
info breakpoints
: 查看所有断点的信息。delete [breakpoint_number]
: 删除指定编号的断点。
-
执行程序:
step
: 单步执行,遇到函数调用会进入函数。next
: 单步执行,遇到函数调用不会进入函数。continue
: 继续执行直到遇到下一个断点或程序结束。
-
查看程序状态:
list [line_number]
: 显示当前执行位置的代码行附近的代码。info locals
: 显示当前函数的局部变量。info args
: 显示当前函数的参数。
-
查看调用栈:
backtrace
或bt
: 显示当前调用栈。frame [frame_number]
: 切换到指定的栈帧。
-
查看变量和内存:
print [variable_name]
: 打印指定变量的值。display [variable_name]
: 每次停止时都显示指定变量的值。x/[format] [address]
: 以指定格式查看内存中的内容。
-
控制程序执行:
set variable [variable_name] = [value]
: 设置变量的值。call [function_name(arguments)]
: 在调试会话中调用函数。
-
退出 GDB:
quit
: 退出 GDB。
这只是 GDB 中的一小部分常用命令。您可以在 GDB 提示符下输入 help
或 help [command]
来获取更多关于特定命令的信息。