GDB调试报错not in executable format: file format not recognized原因求解
报错根因
你启动GDB时错误传入了后缀为.c的C语言纯文本源代码文件,GDB仅支持调试编译后生成的二进制可执行程序,无法直接识别、解析源代码文件,因此抛出文件格式不识别的报错。
操作注意事项与正确调试流程
- 你执行的第二条编译命令
gcc -g -o hello.o hello.c本身是符合调试要求的:-g参数会将调试符号嵌入生成的二进制文件中,是GDB调试的必要前置条件。不过通常.o为编译中间目标文件的专用后缀,建议可执行文件输出命名不加后缀,避免产生歧义,比如调整为gcc -g -o hello hello.c。 - 正确的GDB启动命令需要传入编译得到的可执行文件,示例如下:
gdb ./hello
内容的提问来源于stack exchange,提问作者yambo
相关产品推荐
相关产品推荐

