在Linux环境下,调试C程序通常使用GDB(GNU Debugger)工具。以下是一些基础概念和相关信息:
-g
标志来生成调试信息,这样GDB才能正确地解析源代码和变量。假设我们有一个简单的C程序hello.c
:
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
int sum = a + b;
printf("Sum is: %d\n", sum);
return 0;
}
首先,使用gcc
编译器并添加-g
选项来生成可调试的二进制文件:
gcc -g hello.c -o hello
然后,启动GDB并加载刚才编译的程序:
gdb ./hello
如果GDB提示找不到源文件,可能是因为编译时没有包含调试信息或者源文件路径不正确。
解决方法:
-g
选项编译。directory
命令添加源文件路径:directory
命令添加源文件路径:这通常是因为编译后的二进制文件中没有包含足够的调试信息。
解决方法:
-g
选项。make clean
)。通过以上步骤和技巧,可以在Linux环境下有效地使用GDB来调试C程序。