Keil调试程序如何查看变量
第一个问题:调试时候想实时查看某一变量变化?
view 菜单下的 watch windows,全局变量才能查看
比如要查看u8 adcx的值变化,如下:
全速运行后,如下:
无法查看!什么问题?
该变量非全局变量!
解决办法:
必须是当前断点处所在的函数里面有这个参数才行,或者是全局变量.
将变量adcx改为全局变量:
调试状态下,鼠标选中变量后点右键,弹出的菜单有增加到变量窗口一栏,添加到watch #1 watch #2都可以。
函数里面的局部变量用j-link硬件调试,看不到那些值吗?
当然可以看
有个Call Stack的窗口,就可以看当前函数里面的所有变量值.
在call stack的窗口上看不到值 显示<not in scope>,是什么意思?
意思就是不再范围。。。
无法显示。
加violate关键字。
请问怎么加啊 violate int a=0;下面都是错误了
看局部变量的值,你在该局部变量所在的函数里,打个断点,程序运行到该位置了,才能显示局部变量的值。
第二个问题:Watch1窗口中变量adcx值不能实时显示?
解决方法:
调试状态下,勾上View->Periodic Window Update
要的不是这个显示,是要提高显示的刷新频率
第三个问题:调试时候如何查看局部变量?
watch框内的变量只有在当前变量作用域的才可以添加,例如全局变量。局部变量即使添加后,在下次调试时也会从watch窗口移除,改到locals窗口内显示。locals窗口是查看当前函数处内部变量值得窗口。
watch框内的变量只有在当前变量作用域的才可以添加,例如全局变量。局部变量即使添加后,在下次调试时也会从watch窗口移除,改到locals窗口内显示。这个 ' 符号似乎是表示该变量是上次调试时定义的,好像没其他什么作用。做过测试,只要成功被记录进watch窗口的全局变量,即使该量的物理地址发生了变化,下次调试时调试器也能准确跟踪到,并在watch内刷新结果。locals窗口是查看当前函数处内部变量值得窗口。不要被误导。如果在WATCH窗口看内部变量,会是错误的。误导你的!!!!!!!!!!!!
我的理解:Call Stack + Local窗口变量自动的添加,取决于程序设置断点停止的位置有哪些局部变量和显示停止时刻的值。断点作用域改变,窗口中的变量名也随之改变。程序运行状态无法显示。
上面图片源自于:KEIL help文档
当进入程序状态时,观察窗口默认的页面是“locals",这个窗口页面会动态显示当前模块变量(即局部变量和全局变量),一旦模块变了(即 域 变了),属于这个模块(域)的局部变量就不会在在这窗口页面出现的。所以说这个窗口页面是动态显示就是这个原因。 观察窗口的其它页面,如"watch #1"等等,这里是观察指定的变量的地方,可以指定任何一个!,如:PC。当指定某一局部变量时,如果指定的这一时刻没有定义这个变量,这个指定变量就显示为“?????”,当定义后,它就有值。如果有两个同名的变量,有两种情况。第一:域窄的被域广的取当,即不能显示域窄的变量。第二:域没有关系,第一次出现的局部变量被显示,以后的同名变量不能被显示。
调试状态下,鼠标选中变量后点右键,弹出的菜单有增加到变量窗口一栏,添加到watch #1 watch #2都可以。 call stack是调用堆栈里的值。
Keil调试程序如何查看变量的更多相关文章
- vs中调试程序查看变量在内存中的内容的方法
vs中调试程序 查看变量在内存中的内容的方法 https://blog.csdn.net/guojg1988/article/details/42922149 原文链接:http://www.sows ...
- 如何使用Keil仿真环境查看CPU类型字长?【worldsing笔记】
笔者上次写了如何用IAR查CPU的字长和数据类长度的方法:点击这里查看 今天试着在Keil MDK 5.0 里查看CPU的字长和数据类长度,打开一个已有的工程,编译并进入Debug,如图1.1所示: ...
- Xcode调试之查看变量
从其他开发语言转行进军IOS开发的小伙伴可能会有这样一件苦恼的事情,调试程序时如何查看变量值?我并不喜欢每次都要通过打印去查看变量的值,也不喜欢通过光标悬浮到变量上来显示变量的值,如果要查看变量的属性 ...
- 经典的GDB调试命令,包括查看变量,查看内存
经典的GDB调试命令,包括查看变量,查看内存 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据.print命令的格式是: p ...
- PyCharm使用技巧记录(一)如何查看变量
[为了方便自己以后查阅,记录下使用PyCharm时的一些小技巧] 正在学习Python,在调试Python程序时,遇到了一个非常大的问题:如何能够方便地查看变量的取值呢? 由于使用matlab多年,深 ...
- eclipse 查看变量或方法在什么地方被调用的快捷键和快速显示方法入参提示信息
为了用eclipse写代码的时候,不用方向键移动光标,可以设置如下快捷键, Line Up:Alt+i 光标向上 Line Down:Alt+k 光标向下 Line Start:Alt+u 移到 ...
- xcode调试查看变量的值
对于IPhone开发/XCode的初学者,如何在调试时查看变量的值是很头痛的事情.因为Xcode的expression 经常无法正确显示变量的值.但是强大的GDB可以很方便的帮我们查看变量的值. 当执 ...
- 如何在makfile中查看变量的值
在makefile中查看变量的取值是多少应该是一个比较麻烦的问题,但是本大神自己研究出一个十分方便的方法.这个方法十分简单.现在介绍如下 如果在一个十分复杂庞大的makefile文件中,有个地方用到一 ...
- myeclipse打断点进入后无法查看变量的值的解决方法
myeclipse打断点进入后无法查看变量的值,打开mycelipse菜单选项:“Window” - “Preferences” - “Java” - “Editor” - “Hovers" ...
随机推荐
- POJ 3279 Fliptile (二进制+搜索)
[题目链接]click here~~ [题目大意]: 农夫约翰知道聪明的牛产奶多. 于是为了提高牛的智商他准备了例如以下游戏. 有一个M×N 的格子,每一个格子能够翻转正反面,它们一面是黑色,还有一面 ...
- c语言优先级和结合性
C语言的运算符众多,具有不同的优先级和结合性,我们将它们全部列了出来,方便大家对比和记忆: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 ...
- db2 连接报错connect。 ERRORCODE=-4499, SQLSTATE=08001(转载)
在使用data studio连接远程DB2数据库时报错如下: [jcc][Thread:main][SQLException@5b775b77] java.sql.SQLException [jcc] ...
- asp.net添加用户
AddUser.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <h ...
- Java反射机制在工厂模式中的应用
在本篇文章中就不详细介绍工厂模式,主要介绍一下反射在工厂模式中的使用,让读者对反射机制带来的好处有更深的认识. 首先看一下简单工厂模式 简单工厂模式(simple factory)是类的创建模式,又叫 ...
- bash的使用技巧
- fontDialog-字体对话框和colorDialog-颜色对话框
private void button1_Click(object sender, EventArgs e) { DialogResult dr = fontDialog1.ShowDialog(); ...
- 一、thinkphp
# ThinkPHP核心文件介绍 ├─ThinkPHP.php 框架入口文件 ├─Common 框架公共文件 ├─Conf 框架配置文件 ├─Extend 框架扩展目录 ├─Lang 核心语言包目录 ...
- js 刷新后不提示并保留控件状态
保存后,想提示一下并保留查询条件的状态,发现可以用document.forms[0].submit();继续提交达到刷新的目的 代码如下: ScriptManager.RegisterStartupS ...
- elasticsearch -- 问题纪录
报错1: [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [6 ...