我看到有个英文问题也问到这个问题了 现在的情况是单文件(只有main.c)的情况下能调试,但是多文件编译之后就显示 no debugging symbols found 我知道不是STM8-Debug插件的问题,估计是我makefile没写好,但是我在编译和链接的地方都加了--debug。。。
XiaoBai
在 --debug 参数后加上 --out-fmt-elf 这样的参数试试,sdcc 论坛上有很多关于调试的问题
--debug
--out-fmt-elf
https://sourceforge.net/p/sdcc/discussion/1864/thread/aa45ea7ea2/?limit=25#f9ef
sdcc 调试确实问题很多,主要是 sdcc 根本没有做好 gdb 调试这方面的工作,这个插件的调试器是 stm8-binutils 的,那是另一个组织做的,虽然它们都是 gcc 一条分支上的,但不确保这个 gdb 能和 sdcc 生成的 elf 完美契合
这个帖子下的 sdcc 贡献者之一也说明了整个 elf 包含的调试信息也不能太多,有 64kb 限制
https://sourceforge.net/p/sdcc/discussion/1864/thread/46ecab2e57/
admin
之所以我实现了这个 sdcc 调试,是因为我在一篇老外的博客上看到了,感觉可行才做的,他用的就是 stm8-binutils 的调试器
https://justanotherelectronicsblog.com/?p=432
admin 感谢管理员回复 我提问完之后在一个英文网站找到了一样的解决方法 解决之后整个人神清气爽