如图所示,调试STM8S已经起来了,但是找不到根目录下的main.c文件
但是我的main.c文件相对路径为 src/main.c

请问这个要如何解决?

    jack

    你编译时查找文件的根目录是 src,所以你编译的时候生成的调试信息里,main.c 路径不是 src\main.c;换句话说你传给编译器的文件名必须是 src\main.c 而不是 main.c

    另一个解决办法是

    你应该在在 src 目录下打开 vscode,再调试

    谢谢

    我的编译方式步骤是
    进到各个目录下编译.c文件生成.ihx
    然后在某个文件夹下查找到所有*.ihx链接成elf文件

    这个编译步骤在使用gcc-arm没有出现这种情况
    这个是否由于sdcc编译的原因导致的?

    你编译时查找文件的根目录是 src,所以你编译的时候生成的调试信息里,main.c 路径不是 src\main.c;换句话说你传给编译器的文件名必须是 src\main.c 而不是 main.c

    请问如何在编译中包含路径信息?
    sdcc -c ../src/main.c
    这样吗

    jack

    是的

    总之,调试器是以当前 vscode 工作区作为搜索文件的根目录的,你用的相对路径就得自己去调整

    • jack replied to this.

      admin 经测试,已经可以自动定位到源代码了

      另外,我在调试的时候,发现没有显示C语言对应的反汇编信息
      请问这个要怎么设置?

        jack

        这个是没有切换反汇编的功能的,除非断点命中到没有源文件的地方,才会跳到反汇编显示

        • jack replied to this.
          Write a Reply...