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" ...
随机推荐
- HTTP管线化技术--ajax请求
1.管线化技术——客户端可以发送多次请求到服务端,而不需要等待上一次请求得到响应的时候才能进行下一次请求.实现并行发送请求 2.ajax——实现网页异步刷新 问题:当用户进行多次ajax请求的时候,并 ...
- C#处理和对接HTTP接口请求
对于现在接口泛滥的时代,了解和处理接口对于一名程序员来说是很有必要的! 在对接时对于对方发过来的文档,需要认真看一遍,有疑问的比如加密等,需特别提出来和对方交接: 第一步,在对接接口时,你应该拿到服务 ...
- HDU - 3836 Equivalent Sets (强连通分量+DAG)
题目大意:给出N个点,M条边.要求你加入最少的边,使得这个图变成强连通分量 解题思路:先找出全部的强连通分量和桥,将强连通分量缩点.桥作为连线,就形成了DAG了 这题被坑了.用了G++交的,结果一直R ...
- lintcode---线段树查询||(区间元素个数)
对于一个数组,我们可以对其建立一棵 线段树, 每个结点存储一个额外的值 count 来代表这个结点所指代的数组区间内的元素个数. (数组中并不一定每个位置上都有元素) 实现一个 query 的方法,该 ...
- java开发中国际化
1 静态文本的国际化,就是比如页面中中文显示用户名就是用户名,用于显示就是 username. 其中静态文件命名遵循:基础名_语言简称_国家简称.properties 需要使用的类是 1)import ...
- [Jobdu] 题目1504:把数组排成最小的数
题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 输入: 输 ...
- atitit.软件gui按钮and面板---os区-----软链接,快捷方式
atitit.软件gui按钮and面板---os区-----软链接,快捷方式 1. 硬链接 1 2. 二.软链接(符号链接)LN 1 3. 三.删除链接 2 4. 区别 2 5. 参考 3 1. 硬链 ...
- Delphi 全局画点TCanvas.Pixels[X,Y]
procedure TForm1.btnChangePixelClick(Sender: TObject); var baseX : integer ; baseY : integer ; i,j : ...
- Ubuntu 12.04下LAMP环境的搭建
首先 apt-get install update 一下 sudo apt-get install update 安装MySQL 的服务端和客户端 sudo apt-get install mysql ...
- 确定文件的位置--浏览文件夹对话框folderBrowserDialog
private void button1_Click(object sender, EventArgs e) { folderBrowserDialog1.ShowNewFolderButton = ...