You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gdb调试.c文件时报not executable format错误如何解决

报错核心原因

gdb 是用于调试编译后生成的可执行程序的工具,不支持直接传入C语言源码文件(.c后缀)作为加载对象,你执行的 gdb ./mm.c 命令本身不符合gdb的使用规范,因此触发了文件格式不识别的报错。

标准修复步骤
  • 第一步:编译C源码时加入-g参数,生成带调试信息的可执行文件,-g参数是后续gdb能识别源码、打断点的必要前提:
    gcc -g -o mm mm.c
    # 如果代码依赖其他库,正常追加对应的编译参数即可,比如依赖math.h就加-lm
    
  • 第二步:用gdb加载编译好的可执行文件即可正常启动调试:
    gdb ./mm
    
其他可能触发该报错的场景及解决方案

如果已经按上述步骤生成可执行文件后仍报错,可以排查以下问题:

  • 可执行文件的编译架构和当前运行gdb的设备架构不匹配,比如在x86设备上调试交叉编译生成的ARM架构程序,安装对应架构的专用gdb工具加载即可
  • 编译生成的可执行文件损坏,删除旧文件后重新执行编译命令生成新的可执行文件即可

内容的提问来源于stack exchange,提问作者Richard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:57:04