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" ...
随机推荐
- Oracle相关操作示例(导出导入dmp需要采用)
删除用户:drop user pnxd cascade; 导出数据:exp pnxd/padmin@A file=c:\bb.dmp full=y 导入数据:imp pnxd/padmin@PNXD ...
- Introduction to SIFT (Scale-Invariant Feature Transform)
SIFT OpenCV 官方文档: https://docs.opencv.org/master/da/df5/tutorial_py_sift_intro.html https://opencv-p ...
- 如何用nodejs 开发一个命令行交互工具
参考地址1 参考地址2 一.npm package.json bin 1.package.json { "name": "test", "versio ...
- 有道翻译 / 百度翻译Api
比较推荐使用百度翻译api 不推荐有道翻译,比较水. http://ai.youdao.com/docs/doc-trans-api.s#p02 http://ai.youdao.com/docs/d ...
- Spark in meituan http://tech.meituan.com/spark-in-meituan.html
Spark在美团的实践 忽略元数据末尾 回到原数据开始处 引言:Spark美团系列终于凑成三部曲了,Spark很强大应用很广泛, 文中Spark交互式开发平台和作业ETL模板的设计都很有启发借鉴意义. ...
- unity5,UI Button too small on device than in Game View解决办法
假设测试设备为iphone5(横屏).下面说明如何使真机上ui显示效果与Game View中一致. 1,首先Game View左上角屏幕规格选 iPhone 5 Wide (16:9),如图: 2,在 ...
- php从memcache读取数据再批量写入mysql的方法
这篇文章主要介绍了php从memcache读取数据再批量写入mysql的方法,可利用memcache缓解服务器读写压力,并实现数据库数据的写入操作,非常具有实用价值,需要的朋友可以参考下. 用 Mem ...
- atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结 1. 有一种观点,编程语言就像物种,会形成进化树,有的分支会死掉. 多年之后,你觉得语言会演化成什 ...
- 一个表空间offline后alert日志报ORA-01135 和ORA-01110的问题
本文是原创文章.转载请注明出处:http://blog.csdn.net/msdnchina/article/details/44336789 近期遇到一个案例,是将一个表空间offline之后,al ...
- Javascript知识点:IIFE - 立即调用函数
Immediately-invoked Function Expression(IIFE,立即调用函数),简单的理解就是定义完成函数之后立即执行.因此有时候也会被称为“自执行的匿名函数”(self-e ...