我正在运行调试会话。
我在第201行的函数services_init
内设置了一个断点。
我运行了run up to break point
命令
处理器按预期在第201行暂停。但是,堆栈窗口仅显示main
函数的本地变量。
为什么我看不到services_init
的本地变量?
答案 0 :(得分:0)
来自Nordic的开发人员解决了我的问题
您好,
尝试进入项目设置 - > C / C ++选项卡,并设置优化 等级为-O0。然后重新编译并再次刷新固件。什么时候 为了实现更高的优化,编译器会查找您的模式 您的所有代码,将类似的部分组合在一起,以及结果 不像源代码那样简化。这就是原因所在 高优化调试可能会产生不一致的“跳跃” 代码,调用堆栈可能无法正确显示所有变量。
干杯,哈顿