TRACE32——基于SNOOPer的变量记录
在我们日常调试工作中,经常会遇到一种场景:对于某些变量或者内存的值,希望对其进行监控。
当这些变量发生写或者读的时候,将这些操作记录下来,用于后续的统计分析或者图表绘制。
为了实现上述功能,我们可以使用TRACE32提供的SNOOPer功能。
该功能的实现只需要TRACE32的调试模块,不需要任何额外的跟踪模块。
SNOOPer功能可以在程序执行中实时记录变量的变化,并且对程序正常执行几乎没有影响。
下面我们来看一下在TRACE32中如何配置这个功能:
从TRACE32菜单栏中选择"Trace",
然后选择"Configuration",
选择SNOOPer作为跟踪方法。
"SELect"字段允许您直接输入地址,
或者在select…按钮的帮助下,可以通过鼠标操作,选择要记录的变量的名称。
通过“i”符号数据库,我们将选择变量plot1作为例子。
然后点击Go按钮,开始执行程序。
Trace窗口的进度条就会不断增加,表明SNOOPer正在不断地采集数据。
采集一段时间后,可以点击Break按钮,停下CPU。
然后点击Trace窗口的List按钮就可以看到记录的数据以及时间等信息了。
在上面的窗口,点击Draw按钮,
就可以以图形的方式显示记录下来的变量值。
当然也可以同时记录多个变量的值(最多可以记录16个)。
除此之外,SNOOPer功能还能记录其他信息,最常用的就是PC(程序计数器)。
保存log
可以使用命令 SNOOPer.SAVE 将 SNOOPer 跟踪结果保存到文件以进行后处理,例如:
SNOOPer.SAVE file.ad
使用命令 SNOOPer.LOAD 也可在 TRACE32 PowerView 中加载该文件:
SNOOPer.LOAD file.ad
窗口左下方以红色显示“LOAD”消息,表示显示的数据是从文件加载的。
也可以使用下面的命令将文件保存为csv格式
PRinTer.FILE snoop_plot1.lst
设置输出文件名
PRinTer.FileType CSV
设置输出文件格式
WinPrint.SNOOPer.List
保存结果到文件中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)