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


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

 

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

 

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

 

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

 

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

 

总结

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

“原创内容,转载请标明出处”

相关