我创建了一个使用ARMCC编译的stm32工程,并且参考文档修改调试文件如下 就像其他答案说的一样,ac编译不生成elf文件,因此我设置为使用axf文件调试。而后我发现每次启动工作区的时候,“openocd”这一项的配置会被覆盖 哪怕我将配置文件清空为如下,openocd的调试配置也会在每次启动工作区时生成,除非我将配置文件彻底地清空。 我猜测这里的逻辑是在启动工作区时,会有个插件的某个部分检测到launch.json存在"configurations": []项,就自动添加或覆盖相应的调试配置。我试着禁用Cortex-Debug插件,还是会出现同样的问题,请帮我看看是什么原因。@admin
VanillaCo1a
executable 字段插件会帮忙填写,之所以限定为 elf,是因为 cortex-debug 用的 gdb 是不支持用 axf 来调试的,如果你硬要用 axf,可以直接将 axf 后缀改成 elf 就行了
executable
axf
插件提供的有 axf 转 elf 功能,能让 gdb 正常加载 axf,你也可以在插件设置中开启,不过不保证 100% 成功
在设置里面设置ac编译时生成elf文件可以规避这个问题,不过我认为这里确实是一个bug,所以还是来问问。 另一方面,如果想使用keil编译并且使用eide调试(虽然一般不会有人这么做..),那么还是绕不过这个问题
admin 原来如此,我简单试了一下axf调试,还以为这总是可行的,学习!
https://discuss.em-ide.com/d/193-elf