IAR软件中变量监控的几种方法

在IAR软件中可以使用多个方法来监控变量值的,下面就依次演示这几种方法

使用watch窗口监控

在这里插入图片描述
分别选中变量i和j,单击鼠标右键选择 add to watch

在这里插入图片描述在这里插入图片描述

添加完成之后在watch 1窗口就可以看见添加之后的这两个变量
在这里插入图片描述
全速运行代码,代码在断点处停止之后,就可以看到变量的值发生了改变。
在这里插入图片描述

使用局部变量窗口监控

由于变量i和j都是main函数中的局部变量,可以直接使用局部变量窗口进行观察。
在菜单栏中选择 view — Locals
在这里插入图片描述

全速运行代码,在断点处停止之后,观察locals窗口中的变量值。

在这里插入图片描述

使用live watch窗口监控

添加两个全局变量m,n

在这里插入图片描述
在while循环中也改变m、n
在这里插入图片描述
进入调试界面在变量m、n、i、j上分别右键选择add to live watch

在这里插入图片描述
在这里插入图片描述
然后全速运行代码
在这里插入图片描述

在live watch窗口中可以看到m和n的值实时改变,i和j的值看不到,因为变量i、j为局部变量,变量m、n为全局变量,只有全部变量在全速运行时在live watch窗口中可以实时观察到。

Live watch 可以用来观察动态值变化, watch只能观察静态值的变化。使用live watch 观察变量时代码不需要打断点暂停,全速运行下也能观察到变量值。Watch 观察变量时必须要打断点使程序暂停下来才行。

如果局部变量在全速运行的时候也想观察值的话,可以将局部变量声明为静态变量。在int前面添加 static 关键字
在这里插入图片描述
全速运行代码
在这里插入图片描述
此时在live watch窗口中也可以看到局部变量 i 和 j的值了。

通过prntf()函数打印变量值

在代码中添加头文件 #include <stdio.h>

在这里插入图片描述
在需要输出变量的位置使用printf()函数打印变量。
在这里插入图片描述
进入调试界面,在工具栏中选择view — Terminal I/O
在这里插入图片描述

全速运行代码,此时在Terminal I/O 窗口中就会显示变量的打印结果
在这里插入图片描述

通过调试窗口打印变量值

光标定位到n+=3这一行,然后单击鼠标右键,选择Toggle Breakpoint (Log)

在这里插入图片描述
这时候行号前面就会出现一个红色的小时钟图标

在这里插入图片描述
然后再次单击鼠标右键选择Edit Breakpoint…
在这里插入图片描述
在这个窗口中填写变量输出信息 “n=”,n:%d,选中上方的方框,然后点击确定按钮。

在这里插入图片描述

接下来全速运行代码,此时在调试窗口中就可以看到输出的变量值。

在这里插入图片描述
这里要注意一点,按照程序的执行流程看,n的第一个值应该为3,但是这里打印的值是从0开始的,说明显示的值延时了一次,如果需要实时显示,需要在变量的下一行进行监控。

将log监控点放在延时函数这一行
在这里插入图片描述
重新设置打印信息 " n=“,n:%d,” m=“,m:%d,” j=“,j:%d,” i=",i:%d 将四个变量全部打印出来

在这里插入图片描述
全速运行代码
在这里插入图片描述

这次n的值是从3开始打印的

如果想要保存输出变量的值,可以直接将打印信息输出到文件中。
进入调试界面后,在打印信息窗口单击鼠标右键选择 live log to file — choose live log file
在这里插入图片描述
在弹出的界面中选择需要输出log信息的文件夹,填写需要保存的文件名
在这里插入图片描述
设置完成之后,全速运行代码。
在这里插入图片描述
运行完成之后打开log文件
在这里插入图片描述
这个只需要设置一次,这次调试结束之后,下次再次调试时,log信息依然会写入这个文件中。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值