Windows版STM32 CubeIDE1.9.0调试时自动删除.elf文件问题求助
STM32 CubeIDE 1.9.0(Windows)调试时自动删除.elf文件排查方案
按优先级从高到低排查即可:
- 首先排查安全软件拦截:Windows Defender或者第三方杀毒软件是最高发诱因。1.9.0版本生成的未签名elf文件很容易被实时防护误判为可疑程序,调试启动时触发扫描直接删除。直接把你的CubeIDE工作空间目录、CubeIDE安装目录加入安全软件的排除列表,重启IDE再试。
- 检查项目构建配置:右键项目打开
Properties,依次进入C/C++ Build > Settings > Build Steps,检查Post-build steps栏,默认只有生成hex、bin文件的指令,要是出现del *.elf、rm *.elf这类删除elf的命令,直接删掉保存。再切到C/C++ Build > Builder Settings,确认勾选了Generate Makefiles automatically,避免手动修改的旧makefile带错误清理逻辑。 - 修复路径兼容问题:1.9.0版本存在路径解析bug,如果你的项目存储路径带中文、空格、特殊字符,调试器识别elf路径失败时会误触发文件清理逻辑,删掉正常生成的elf。把项目挪到全英文、无空格无特殊符号的短路径下(比如
D:\STM32_Workspace\下),重新导入项目后全量构建即可。 - 清理损坏的构建缓存:关闭CubeIDE,直接删除项目目录下的
Debug、Release输出文件夹,重启IDE后右键项目选择Clean Project,等待清理完成后执行全量构建,再启动调试。缓存损坏会导致构建、调试两个阶段的文件索引逻辑冲突,触发异常文件删除。
排查完先手动触发一次构建,到项目的Debug输出目录确认
.elf文件存在,再启动调试即可正常加载。
内容的提问来源于stack exchange,提问作者Arseniy
相关产品推荐
相关产品推荐

