GDB 错误 - 不是可执行格式:无法识别文件格式

GDB error - not in executable format: file format not recognized

我正在尝试将 gdb 与简单的 hello world 程序一起使用,但遇到了一些问题

hello.c

#include <stdio.h>
int main()
{
   printf("Hello World");
   return 0;
}

然后我使用以下两个命令进行编译:

gcc -o hello.o hello.c

gcc -g -o hello.o hello.c

但是当我输入 gdb hello.c 时出现错误: "/home/myName/hello.c": not in executable format: file format not recognized

有人知道这是为什么吗?

您需要 运行 并调试可执行文件而不是源文件。按照惯例,可执行文件不应该有 .o,因为它们用于中间对象。所以尝试:gcc -g -o hello hello.c && gdb ./hello