DT10功能介绍--自动化的变量验证器

创提信息
2021/09/29

分享到

功能介绍
 
嵌入式开发人员和测试人员使用 DT10 时,最常用到的一个自动调试功能就是:监控并报告在运行时状态下,参数在什么时候、哪个位置出现了非法值或越界值。这能够帮助发现运行时软件中存在的与内存相关的很多问题。
 
如果能够轻松地重现这些问题,有经验的工程师就能够迅速插入一些 print 语句,来手动解决这些问题。但是, 很多时候,这些问题造成的影响是很难重现的,而且可能只是偶尔出现;这样就大大增加了发现、诊断、修复问题的难度,不仅费时而且成本也极高。
 
使用 DT10 可以在所有的局部变量、全局变量、函数参数上放一个自动验证器,只要通过单击,验证器就可以运转。然后就可以让软件正常运行, 最长可以捕获长达 32 天的数据。一旦我们监控的数据超出了有效范围,或者出现非法值,DT10 就可以在运行时捕获这些信息,并报告这些违规行为,这些信息能有效帮助我们诊断并解决问题。这能帮助嵌入式团队节省很多时间,他们不再需要花那么多精力来重现并定位某个问题。
 
我们可以通过下面的例子,来了解 DT10 在动态测试方面的能力:
 
功能演示
 
嵌入式设备偶尔会出现错误行为,据怀疑是下图中处理传感器数据的函数存在问题,但是还不能确定。


11.jpg

 
可以使用 DT10 在整个应用程序代码中自动插入测试点,也可以在自己认为可能存在问题的关键点上手动插入特 定的测试代码。这里,利用 DT10 在可能存在问题的函数上插入一个输入数据自动验证器,并设定一个符合软件原始设计的许可范围(如,0-20)。


12.jpg

 
只要点击 OK 按钮,DT10 软件就会在源代码上插入一个优化后的测试点,对运行时的数据进行自动验证。


13.jpg

 
现在,可以将嵌入式软件重新部署到实际应用的(或测试实验室的)设备上,如果有需要的话,可以让它运行 31 天,以便重现并捕获那些难以发现的问题。
 
DT10 分析引擎会对获取的信息进行分析,并高亮显示超过变量设定的预期范围的情况。即使最终出现问题的地 方被深深掩藏在追踪日志的 Gigabytes 里面,DT10 还是会准确地定位到问题重现的地方,可以精确到纳秒:


14.jpg

 
DT10 也会提供“函数追踪报告”,报告会对嵌入式软件的行为进行图形化分析,包括函数调用之间的关系和时序,这些都有助于诊断和修复软件问题。


15.jpg

 
总结

 
如果应用程序的变量可以利用 DT10 自动监控并验证值的范围和合法性,那么通过长时间执行,就能够定位到那些难以重现的问题,从而提高嵌入式产品的整体质量,帮助开发人员和测试人员减少工作量,使他们能够更好地集中精力从事其它具有附加价值的任务。