查看原文
其他

IAR在线调试查看各种变量的不同方法

strongerHuang strongerHuang 2021-01-31

置顶公众号,不错过每一条消息!


你知道IAR的View视图菜单中Watch、 Live Watch、 Quick Watch、 Auto、 Locals、 Statics这几个子菜单的含义和区别吗?


下面带你全面了解这6个子菜单的意思,让你不再为调试查看各种变量而烦恼。


1简述IAR的View视图菜单

View这个菜单的意思就是打开(已关闭的)视图窗口,比如我们的工作空间窗口不见了,就可以通过该菜单打开。


不瞒大家,以前我初学软件的时候,常用的视图窗口不小心被我关闭了,我心里都慌了。


由于在调试模式下增加了一些视图窗口,所以在编辑模式调试模式下存在一些差异。


细心的朋友其实会发现,子菜单是进行了分类的(用横线隔开),本文讲述的就是Watch这一类查看变量的子菜单。


新版的IAR的菜单和以前老版本的排序、内容可能略有差异,但大体相同。同时,IAR的菜单内容比较多,本文就不再讲述,可以参看我的另外两篇原创文章:

1.IAR for ARM系列教程(三)_菜单(Ⅰ)

2.IAR for ARM系列教程(四)_菜单(Ⅱ)


26个子菜单主要含义

1.Watch:普通查看表达式/变量值窗口

2.Live Watch:查看实时表达式/变量值窗口

3.Quick Watch:快速查看表达式/变量值窗口

4.Auto:自动显示表达式/变量窗口

5.Locals:局部变量窗口

6.Statics:静态变量窗口


这里可以再次细分,前面3个菜单分为一类:Watch查看窗口;后面3个菜单分为一类:Atuo自动窗口。


以上表述的意思可能不够全面(钻字眼的人可能觉得表述有问题)。所以,下面章节将给大家较详细的介绍一下这6个子菜单的含义。

36个子菜单详细内容

下面我将结合一些案例给大家讲述具体的含义。


6个视图子菜单窗口的显示内容都类似,总共四个属性:

Expression:表达式名称,一般指变量和函数等。

Value:对应的值;

Location:对应所在位置,寄存器、RAM、Flash等。

Type:变量/函数类型。


1.Watch:普通查看表达式/变量值窗口

Watch菜单下面有4个子菜单:Watch1 ~4,但都是一样的,可以分别开4个窗口出来同时查看表达式/变量值。

一般这个窗口我们比较常用,添加自己想要查看的变量值。


A.通过手动添加需要查看的表达式/变量;

B.只有暂停调试才会更新对应的值;


2.Live Watch:查看实时表达式/变量值窗口

Live可以翻译成“现场”、“活的”,所以我就称为查看实时变量。Live窗口与上面Watch窗口类似,差别在于:

A.变量须为静态(全局);

B.变量实时更新(程序在运行时);


3.Quick Watch:快速查看表达式/变量值窗口

快速浏览变量窗口主要结合另外一个视图菜单Macro Quicklaunch一起使用,达到精确地控制变量值。


4.Auto:自动显示表达式/变量窗口

当程序暂停在某一个地方,自动显示暂停坐在位置的表达式/变量,而不需要像Watch要手动添加。


5.Locals:局部变量窗口

这个子菜单和Atuo类似,也是自动显示,区别在于:Locals是显示的局部表达式变量,而静态/全局变量不会显示


6.Statics:静态变量窗口

该子菜单同样具有Atuo的特性,自动显示。但是,它显示的内容是静态变量(静态局部、静态全局、全局变量)。


所以,通过该视图窗口你就可以查看你给内存分配了那些静态变量。



推荐阅读

1.STM32标准外设库SPL转换成Cube LL

2.关于STM32时钟配置的那些坑


4最后

若觉得文章好,记得点赞、分享。扫描下面二维码、关注,在底部菜单中查看更多精彩内容!

长按识别图中二维码关注



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存