Keil 中,仿真调试查看局部变量值总是显示<not in scope>

2023-05-16

原因:

        编译器把代码优化掉了,直接导致在仿真中变量根本没有分配内存,也就无法查看变量值

以后调试中遇到这种情况的解决办法:

核心思想是:让变量值在代码中被读取其内存值

1、把变量定义为全局变量,全局变量编译器貌似不会太多干扰,但是在项目中总不能定义太多全局变量,而且经常为了调试而改代码,太麻烦了

2、使用变量,让编译器不优化掉,例如在for循环中使用。更简单的方法是把变量定义为 volatile。
例如:int temp;    =>   volatile int temp;//volatile变量会使得cpu每次使用该值时都一定会从内存读取而不是直接使用cpu寄存器里的值,相当于提高了变量的级别,编译器不会优化此变量

3、降低KEIL的优化级别

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Keil 中,仿真调试查看局部变量值总是显示<not in scope> 的相关文章

  • 如何在类的范围内访问“self”?

    我遇到了一个有趣的问题 假设我们有一个类 在它的构造函数中我们采用一个布尔值作为参数 如何根据实例的条件 布尔值在类内定义方法 例如 class X def init self x self x x if self x true self
  • 为变量名称添加前缀以指示它们各自的范围或来源?

    在我工作过的公司中 我见过很多使用前缀来指示变量的范围或来源的情况 例如m对于班级成员来说 i对于方法内部变量和a or p 对于方法参数 public class User private String mUserName public
  • 您是否使用花括号来确定额外的范围? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • if 语句中初始化的变量的范围是什么?

    这可能是一个简单的范围界定问题 Python 文件 模块 中的以下代码让我有点困惑 if name main x 1 print x 在我使用过的其他语言中 这段代码会抛出异常 因为x变量是局部的if语句并且不应该存在于它之外 但是这段代码
  • 为什么你可以在 Java 和 .Net 中反射并调用一个(不那么)私有方法

    在 Java 和 C 中 都可以通过反射调用私有方法 如下所示 为什么这是允许的 这样做会产生什么后果 是否应该在该语言的未来版本中删除它 其他语言 平台是否允许这样做 如果我在 Java 和 C 中都有此类 这是例子 public cla
  • 作用域 bean:将一个 bean 注入另一个 bean

    如何在没有代理的情况下将会话范围 bean 注入另一个会话范围 bean Component Scope session class Foo Inject Bar bar Component Scope session class Bar
  • JavaScript 变量作用域 [重复]

    这个问题在这里已经有答案了 我的一些 JavaScript 代码有问题 Script setTimeout function for var i 0 i lt 5 i setTimeout function console log i i
  • 如何在 JQuery $.each 函数中编辑全局变量?

    好吧 所以这个标题可能不能很好地解释我的问题 希望这是有道理的 这也是我第一个使用 jQuery 的应用程序 所以如果我做了一些愚蠢的事情 请原谅我 我有以下功能 function getRandomImages limit imagesA
  • 在类实例之间共享字典内容

    假设我有一个像这样的字典结构 var stocks new Dictionary
  • 如果我在函数中导入模块,变量是局部变量吗?

    如果我在函数 本地范围 内导入 python 3 中的模块 导入的内容是否是该函数的本地内容 Like def test import math s math cos 1 s math cos 1 是的 该模块将是该函数的本地模块 至少在上
  • 嵌套 if 中的范围不明确

    假设有一个 Foo 类 例如 class Foo public void bar operator bool const return true 那么我们可以做 if Foo foo Foo if Foo foo Foo foo bar 现
  • 未定义变量 - Switch 语句在 PHP 中是否具有作用域

    大家好 这是我第一次发帖 认为这会很好 因为我完全陷入困境 据我了解 PHP 中的 switch 和 If else 语句没有变量范围 我的问题是我有一个 CSV 文件 示例文件 其中包含大约 5 行值 我需要将其放入 mySQL DB 表
  • jinja 模板变量赋值范围

    鉴于以下 Jinja 片段 set sep for stamp in stamp list for heartbeat in heartbeat list if heartbeat name site name and heartbeat
  • Javascript var 提升问题

    我有一个非常简单的 Javascript 函数 它可以访问 MS SQL 服务器并返回一些记录 有一个单元格 我只想在它唯一时才显示在顶部表格行中 我相信我的问题是 var 提升 因为我在 while 循环中分配的变量不起作用 因为该值不是
  • angularjs foreach循环通过依赖于先前请求的http请求

    我想循环遍历一个数组以角度执行 http jsonp 请求 但是每个请求都会略有不同 具体取决于前一个 http jsonp 请求的时间戳 我试图循环 5 个请求 每个请求都依赖于前一个请求信息 如何执行 foreach 循环来等待每个 h
  • 在函数中声明默认参数在幕后有什么作用?

    这不是调试问题或操作方法问题 这是一个概念性问题 我发现很难理解什么this https developer mozilla org en US docs Web JavaScript Reference Functions Default
  • 如何使用事务范围的持久化上下文进行非事务性读取查询?

    我读了 Spring 文档 它说 PersistenceContext 注解有一个可选的属性类型 默认为 PersistenceContextType TRANSACTION 此默认值是您接收共享所需的 实体管理器代理 这是否意味着我必须让
  • JavaScript 变量作用域

    我遇到了 JavaScript 全局变量 称为 TimeStamp 未在加载时定义的问题 至少我认为这就是问题所在 我从这里开始 定义时间戳 document ready function AddTest var TimeStamp nul
  • 作用域对象的 Xtext 示例

    我正在寻找一个示例 在 XText 中 说明如何在用户定义的对象成员上实现代码完成 据我所知 我需要使用 IScope 但所有这些如何连接在一起还不清楚 鉴于trait是用户定义的类型 我如何构建语法来编码完成 验证其中包含的方法Strin
  • 枚举类型的命名空间 - 最佳实践

    通常 需要同时使用多种枚举类型 有时 人们会发生名字冲突 我想到了两种解决方案 使用命名空间 或使用 更大的 枚举元素名称 尽管如此 命名空间解决方案有两种可能的实现 带有嵌套枚举的虚拟类 或完整的命名空间 我正在寻找所有三种方法的优缺点

随机推荐

  • 音频处理——详解PCM数据格式

    目录 知识储备什么是PCM采样采样率重采样 量化编码PCM常用指标 PCM数据流 知识储备 音频处理 音频编码原理简介 音频处理 音频处理的基本概念 什么是PCM PCM全称Pulse Code Modulation xff0c 翻译一下是
  • 音频处理——常用音频编码格式简介(PCM、G726、ADPCM、LPCM、G711、AAC)

    目录 PCMG726ADPCMLPCMG711AAC格式对比音频帧长音频播放过程 PCM 音频处理 详解PCM数据格式 音频处理 解析PCM格式实例 xff08 音量调控 xff09 G726 G 726是ITU T定义的音频编码算法 19
  • 音频处理——G711标准详解

    目录 G711简介G711A算法原理压缩方法举例代码 G711U算法原理压缩方法举例代码 G711A与G711U对比 参考链接 G711简介 G711是国际电信联盟ITU T定制出来的一套语音压缩标准 xff0c 它代表了对数PCM xff
  • PS流详解(载荷H264)

    目录 PS简介标准结构标准H264流结构定长音频帧和其他流式私有数据的结构 PS流封装标准PSH结构PES包结构PSM包结构体 元素流 PS 封装规则H264元素流封装规则音频元素流封装规则私有信息封装规则 PS简介 PS 封装方式需要支持
  • Postman中的authorization

    1 概述 Authorization是验证是否拥有从服务器访问所需数据的权限 当发送请求时 xff0c 通常必须包含参数 xff0c 以确保请求具有访问和返回所需数据的权限 Postman提供了授权类型 xff0c 可以轻松地在Postma
  • 操作pdf,提示startxref not found

    startxref not found多半是文件被损坏了 xff0c 检查一下 xff0c 是不是之前自己写的代码把pdf文件跑崩了 可以尝试重新生成一遍该pdf文件 xff0c 然后再进行操作 或者尝试一下 xff1a https www
  • FTP 530未登录

    提供一种思路 xff1a 如果说FTP服务器已开 xff0c 服务器也能ping通 就得考虑是不是我们在FTP服务器上设置的默认路径有问题 xff08 不符合我们的需求 xff09 Windows10下 xff0c FTP设置默认位置 xf
  • 开源个小demo

    https github com UnderADome epms 内部项目管理
  • LDAP的基本知识

    https zhuanlan zhihu com p 147768058 https www cnblogs com gaoyanbing p 13967860 html
  • 「权威发布」2019年电赛最全各类题目细节问题解答汇总

    点击上方 大鱼机器人 xff0c 选择 置顶 星标公众号 福利干货 xff0c 第一时间送达 xff01 各位朋友大家上午好 xff0c 今天是比赛的第二天 xff0c 许多朋友都给我发消息 xff0c 我不是不回 xff0c 我实在是回不
  • Unable to find explicit activity class

    做项目从一个activity逐渐转向到使用多个activity xff0c 这个时候新手就容易出现一个问题 xff0c 忘了给activity在AndroidManifest xml中注册 打开日志 xff0c 在遇到这个报错信息的时候 x
  • Errors running builder 'Maven Project Builder'

    由于第一次玩maven的时候 xff0c 很多东西都还是懵懵懂懂 xff0c 不是很清楚 xff0c 不知道怎么把Myeclipse中的maven配置弄坏了 xff0c 从外部导入maven项目的时候 xff0c 总会报一些错误 xff1a
  • Type handler was null on parameter mapping for property '__frch_id_0'

    1 Type handler was null on parameter mapping for property frch id 0 2 Type handler was null on parameter mapping or prop
  • 如何解决error: failed to push some refs to 'xxx(远程库)'

    在使用git 对源代码进行push到gitHub时可能会出错 xff0c 信息如下 此时很多人会尝试下面的命令把当前分支代码上传到master分支上 git push u origin master 但依然没能解决问题 出现错误的主要原因是
  • expected an indented block

    Python中没有分号 xff0c 用严格的缩进来表示上下级从属关系 导致excepted an indented block这个错误的原因一般有两个 xff1a 1 冒号后面是要写上一定的内容的 xff08 新手容易遗忘这一点 xff09
  • C 实现TCP服务端(select、poll、epoll)

    使用C简单的实现一个tcp server xff0c 包括常规server 多线程实现server select实现server poll实现server epoll实现server IO模型原理可以看上一篇文章 常规模式 define M
  • UART串口通信

    目录 一 通信特点二 通信应用三 接线示意图三 UART通信协议四 STM32F4 串口使用1 资源分布2 特性3 UART框图4 使用方法5 相关库函数6 函数实例 五 实战 上位机控制开发板小灯 一 通信特点 异步 串行 全双工 一般描
  • 项目:文件搜索助手(FileSeeker)

    目录 1 项目简介 2 项目源代码 3 相关技术 4 实现原理 5 项目架构图 6 项目功能 7 测试报告 7 1 测试用例 7 2 测试环境 7 3 测试结论 7 3 1 功能测试 7 3 2 性能测试 7 3 3 兼容性 7 3 4 容
  • cocos2d实现2D地图A*广度路径算法

    h ifndef HELLOWORLD SCENE H define HELLOWORLD SCENE H include 34 cocos2d h 34 USING NS CC enum PatchFront Uper 61 1 Down
  • Keil 中,仿真调试查看局部变量值总是显示<not in scope>

    原因 xff1a 编译器把代码优化掉了 xff0c 直接导致在仿真中变量根本没有分配内存 xff0c 也就无法查看变量值 以后调试中遇到这种情况的解决办法 xff1a 核心思想是 xff1a 让变量值在代码中被读取其内存值 1 把变量定义为