Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在运行调试会话。
services_init我在第 201 行的函数内部设置了一个断点。
services_init
我运行了run up to break point命令
run up to break point
处理器按预期在第 201 行暂停。但是,堆栈窗口仅显示main函数的本地变量。
main
为什么我看不到本地变量services_init?
来自北欧的开发人员解决了我的问题
你好, 尝试进入项目设置 -> C/C++ 选项卡,并将优化级别设置为 -O0。然后重新编译并再次刷新固件。当启用更高的优化时,编译器会在你所有的代码中寻找模式,将相似的部分压缩在一起,结果不如你的源代码那么精简。这就是为什么使用高度优化的调试可能会在代码中出现不一致的“跳转”,并且调用堆栈可能无法正确显示所有变量。 干杯,哈康
你好,
尝试进入项目设置 -> C/C++ 选项卡,并将优化级别设置为 -O0。然后重新编译并再次刷新固件。当启用更高的优化时,编译器会在你所有的代码中寻找模式,将相似的部分压缩在一起,结果不如你的源代码那么精简。这就是为什么使用高度优化的调试可能会在代码中出现不一致的“跳转”,并且调用堆栈可能无法正确显示所有变量。
干杯,哈康