Keil “调用堆栈”窗口不显示本地值
我正在运行调试会话 我在第201行的函数Keil “调用堆栈”窗口不显示本地值,keil,nrf51,Keil,Nrf51,我正在运行调试会话 我在第201行的函数services\u init中设置了一个断点 我运行了运行到断点的命令 处理器按预期在第201行暂停。但是,“堆栈”窗口仅显示main函数的本地变量 为什么我看不到服务\u init的本地变量 一位来自北欧的开发者解决了我的问题 嗨 尝试进入项目设置->C/C++选项卡,并设置优化 级别为-O0。然后重新编译并刷新固件。什么时候 启用更高的优化,编译器将在 您的所有代码,将相似的部分压缩在一起,并得到结果 没有您的源代码那么精简。这就是原因 使用高度优
services\u init
中设置了一个断点
我运行了运行到断点的命令
处理器按预期在第201行暂停。但是,“堆栈”窗口仅显示main
函数的本地变量
为什么我看不到服务\u init
的本地变量
一位来自北欧的开发者解决了我的问题
嗨
尝试进入项目设置->C/C++选项卡,并设置优化
级别为-O0。然后重新编译并刷新固件。什么时候
启用更高的优化,编译器将在
您的所有代码,将相似的部分压缩在一起,并得到结果
没有您的源代码那么精简。这就是原因
使用高度优化进行调试可能会导致不一致的“跳跃”
代码,调用堆栈可能无法正确显示所有变量
干杯,Håkon