调用堆栈窗口不显示本地值

时间:2017-06-14 19:53:24

标签: keil nrf51

我正在运行调试会话。

我在第201行的函数services_init内设置了一个断点。

我运行了run up to break point命令

enter image description here

处理器按预期在第201行暂停。但是,堆栈窗口仅显示main函数的本地变量。

为什么我看不到services_init的本地变量?

enter image description here

1 个答案:

答案 0 :(得分:0)

来自Nordic的开发人员解决了我的问题

  

您好,

     

尝试进入项目设置 - > C / C ++选项卡,并设置优化   等级为-O0。然后重新编译并再次刷新固件。什么时候   为了实现更高的优化,编译器会查找您的模式   您的所有代码,将类似的部分组合在一起,以及结果   不像源代码那样简化。这就是原因所在   高优化调试可能会产生不一致的“跳跃”   代码,调用堆栈可能无法正确显示所有变量。

     

干杯,哈顿