gdb
(GNU Debugger)是一个强大的源代码级调试工具,用于在 Linux 系统上调试程序。以下是使用 gdb
调试程序的基本步骤:
首先,确保你的程序是用调试信息编译的。通常,你需要在编译时添加 -g
选项:
gcc -g -o myprogram myprogram.c
gdb
使用 gdb
启动你的程序:
gdb myprogram
在 gdb
提示符下,使用 break
命令设置断点。你可以按函数名、行号或文件名和行号设置断点:
break main
break myprogram.c:42
使用 run
命令启动程序:
run
如果程序在断点处停止,gdb
会显示相关信息。
你可以使用 print
命令查看变量的值:
print variable_name
你也可以使用 info locals
和 info args
查看当前函数的局部变量和参数:
info locals
info args
使用 step
命令单步执行代码:
step
使用 next
命令单步执行,但不进入函数内部:
next
使用 continue
命令继续执行程序,直到下一个断点或程序结束:
continue
使用 backtrace
命令查看当前的调用栈:
backtrace
你可以使用 set
命令修改变量的值:
set variable variable_name = new_value
gdb
使用 quit
命令退出 gdb
:
quit
以下是一个简单的示例,展示了如何使用 gdb
调试一个 C 程序:
// myprogram.c
#include <stdio.h>
void foo() {
int x = 10;
printf("x = %d\n", x);
}
int main() {
foo();
return 0;
}
编译程序:
gcc -g -o myprogram myprogram.c
启动 gdb
:
gdb myprogram
设置断点并运行程序:
break foo
run
单步执行并查看变量:
step
print x
继续执行:
continue
退出 gdb
:
quit
通过这些基本步骤,你可以开始使用 gdb
调试你的 Linux 程序。gdb
还有许多高级功能,如条件断点、监视点、线程调试等,可以根据需要进行深入学习。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Linux进程调试:gdb调试技巧分享