【问题标题】:avr-gcc: No symbols are located for any call stack framesavr-gcc:没有为任何调用堆栈帧定位符号
【发布时间】:2012-12-11 15:01:07
【问题描述】:

我使用 Atmel Studio 6 开发了一个 GCC C 可执行项目。目标设备是 ATtiny2313A。有一个C文件和其他头文件。

当我设置大小优化时,我无法调试解决方案,因为当我进入头文件中包含的函数时,调试器显示错误 No source available. No symbols are located for any call stack frame. The source code cannot be displayed

调试器适用于所有其他优化类型(-O1-O2-O3)。

此外,该软件可在真实芯片上运行。

我需要知道我的代码的时序,但我还需要节省闪存空间,因此我无法避免使用优化大小来调试代码。

似乎问题在于链接器无法链接代码的不同部分,因为缺少一些符号。 我怎样才能让它使用所有必要的符号?

【问题讨论】:

  • 不确定-Os 是否会覆盖它,但您可以尝试将-fno-omit-frame-pointer 添加到您的编译标志中。

标签: c debugging optimization linker avr-gcc


【解决方案1】:

确保您使用的是 gdwarf2 目标文件格式。我有一个类似的问题,编译后的代码没有正确链接回源代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-02
    • 2010-10-23
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多