Keil v4.73 调试模式下无法查看变量的值

发布者:Ampoule最新更新时间:2018-12-12 来源: eefocus关键字:Keil  调试模式  变量的值 手机看文章 扫描二维码
随时随地手机看文章

之前就遇到Keil v4.73在调试模式下无法查看局部变量的值的问题,以致于专门找了台电脑装了个v4.54的老版本Keil(http://blog.csdn.net/ropai/article/details/16880079),以便需要断点调试时候使用。


最近总算找到原因了,程序遇到一个问题,于是习惯性的在v4.73下进行断点调试,发现局部变量的值还是看不了,但静态变量的值是正常的可以看。立马想到了是不是编译器对局部变量做了优化?


打开工程属性在C/C++那一栏,看到优化级别是默认的,从最下面一栏的"compiler control string"可见默认的级别是"O2“,O2是比较合适的优化选项,O2级别下编译器会试图提高代码性能而不会增大体积和大量占用的编译时间。 



但估计正是因为这个O2的优化导致了局部变量在调试模式下无法正常显示了。果断把优化级别改为O0(不做任何优化),如下图所示。调试中局部变量就可以正常查看了。


建议调试完毕还是把编译的优化级别改回默认的O2.


关键字:Keil  调试模式  变量的值 引用地址:Keil v4.73 调试模式下无法查看变量的值

上一篇:keil不能进调试模式的解决方法
下一篇:keil5如何调试程序并查看数组值

推荐阅读最新更新时间:2024-03-16 16:19

s3c2440 ads程序移植到keil中(三) 初步完成
如果我把参数配置发生改变呢 然后再一次编译 要包错误 如下所示 其实我们到这里离 在s3c2440 ads程序移植到keil中(二)中看到这个网友不值提供了方法 而且提供了几个文件的下载地址 http://download.csdn.net/detail/googlemi/5176844 我直接下载下来了 把其中的2440init.s文件直接拷贝复制替代我工作中的2440init.s 该错误消失了 但是出现了 这一个错误 反正修改就能解决 然后 提示了一个错误 意思 就nand.c和nand.h 没有加上去 让后加上去了 编译成功没有错误 这种方式到此结束
[单片机]
s3c2440 ads程序移植到<font color='red'>keil</font>中(三) 初步完成
keil中如何得知所编译程序所占空间大小?
keil编译后出现Program Size: data=21.0 xdata=0 code=2231。 这表明 data= 21.0 数据储存器内部 RAM 占用21字节,  xdata=0 数据储存器外部RAM占用0字节 code=2231 程序储存器ROM占用2231字节,
[单片机]
KEIL MDK输出map文件分析
前面写了一篇文章对__main函数的执行过程做了一个粗略的跟踪描叙,对一个烧录了程序的STM32开发板从启动复位到进入用户main函数的过程有了一个大概的了解,但是有很多问题感觉还是模模糊糊,因此,今天又把KEIL MDK编译、链接后生成的map文件简单分析一下,加深对链接器、嵌入式系统可执行映像特点的了解。 一、文件分析流程 1、第一部分:Section Cross References 主要是各个源文件生成的模块之间相互引用的关系。 stm32f10x.o(STACK) refers (Special) to stkheap2.o(.text) for __use_two_region_memory 比如上
[单片机]
<font color='red'>KEIL</font> MDK输出map文件分析
面向51单片机Keil uVision4基本数据类型简介
熟悉基本数据类型是使用C语言编绎器编写程序的基本前提之一,使用keil uVision4开发51单片机C程序当然也不例外。本文将系统地介绍Keil uVision4的各种基本数据类型,希望对读者有益。 注:此为初稿,如有错误和疏漏之处,恳请读者批评指正。 在标准C语言中,存在着如下六种基本数据类型: 1、char:字符型; 2、short = short int:短整型 3、int:整型 4、long = long int:长整型 5、float:单精度浮点型 6、double:双精度浮点型 而面向51单片机的Keil uVision4对此进行了简化, 因此,可以理解为只存在如下四种基
[单片机]
Keil C51软件使用详解
第一节 Keil C51编译器的控制指令 C51编译器的控制指令分为三类:源文件控制类,目标文件控制类及列表控制类。 1. 源文件控制类 NOEXTEND:C51源文件不允许使用ANSI C扩展功能。 DEFINE(DF):定义预处理(在C51命令行)。 2. 目标文件(Object)控制类: COMPACT LARGE SMALL 选编译模式 DEBUG(DB) 包含调试信息,以供仿真器或dSCope51使用。 NOAMAKE(NOAM) 禁止AutoMake信息记录 NOREGPARMS 禁止用寄存器传递参数 OBJECTEXTEND(OE) Object文件包含附加变量类型信息 OPTIMIZE(OT) 指
[单片机]
1.44寸TFT液晶屏测试代码(屏幕驱动:ST7735)
1.44寸TFT液晶屏图片 程序分为软件SPI和硬件SPI 软件SPI程序: 用单片机STC89C516和STC89C516和单片机STC12C5A60S2,12MHz晶振,测试通过 硬件SPI程序: 用单片机STC12C5A60S2,12MHz晶振,测试通过(STC89C516无硬件SPI) 使用软件SPI的程序显示速度较慢,但是通用性好,使用硬件SPI的程序显示速度较快,但CLK和MOSI连线不可更改,通用性较差(连线在程序的port.h文件中) 程序功能: 1.支持中英文混合显示,支持自定义字体颜色和背景颜色,显示到行末自动转行 2.支持显示图片 3.支持旋转屏幕(在程序的TFT.h文件中设置) 程序对图片取模和汉字取
[单片机]
1.44寸TFT液晶屏测试代码(屏幕驱动:ST7<font color='red'>73</font>5)
keil环境下STM32使用printf
1、首先需要设置keil ! (https://img-blog.csdn.net/20180509170628341?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmd6aGltaW5fMDcwMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 2、添加头文件 3、在代码中增加两段代码 增加第一段代码: #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PR
[单片机]
基于AT73C500/501专用芯片组电参量测量模块
摘要:介绍美国Ateml公司新型专用电能量测量专用芯片组AT73C500/501的性能指标和工作原理;给出采用此芯片组的电参数测量模块应用设计要点和抗干扰设计方法,并利用PC机编写自动参数校准软件,实现快速精确配置模块测量系数;实现简单通用的智能电参量测量模块。 关键词:电参量测量 专用芯片组 AT73C500/501 参数校准 AVR单片机 近向年来,国外许多IC设计制造公司推出了系列电参量(针对工频电网的电压、电流、有功、无功、频率等参数)测量的专用芯片,如CS5460A、ADE7755、AT73C500/501等。利用它们可以方便实现单相、三相电能表的设计,达到很高的测量精度,同时大幅降低产品成本。 这些不同的电参量测量芯片功
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved