0

我正在运行调试会话。

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

我运行了run up to break point命令

在此处输入图像描述

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

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

在此处输入图像描述

4

1 回答 1

0

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

你好,

尝试进入项目设置 -> C/C++ 选项卡,并将优化级别设置为 -O0。然后重新编译并再次刷新固件。当启用更高的优化时,编译器会在你所有的代码中寻找模式,将相似的部分压缩在一起,结果不如你的源代码那么精简。这就是为什么使用高度优化的调试可能会在代码中出现不一致的“跳转”,并且调用堆栈可能无法正确显示所有变量。

干杯,哈康

于 2017-06-14T20:50:41.830 回答