c - GDB 错误 - 不是可执行格式:文件格式无法识别
问题描述
我正在尝试将 gdb 与一个简单的 hello world 程序一起使用,但遇到了一些麻烦
你好ç
#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
推荐阅读
- c - 通过链表在结构的成员中输入值
- java - Java 目录路径
- xml - 如何在返回多个结果的 xmllint 查询中插入分隔符
- javascript - 我如何制作具有添加产品按钮和空按钮的购物清单
- python - 在 Google Cloud Platform Function 中启用 CORS Python
- javascript - 更改元素的 CSS on Focus Out
- python - 有没有办法优化这个字典搜索?
- linux - 搜索 /lib/libpthread.so.0 时跳过不兼容的 /lib/libpthread.so.0
- python - 使用正则表达式(python)将一个数字分成 2 或 3 块
- c# - ASP .NET Core 3.1 API 重定向到 prod 环境中的登录页面