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

2024-04-22 05:48

本文主要是介绍DT10功能介绍--自动化的变量验证器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

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

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

总结


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

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

 

这篇关于DT10功能介绍--自动化的变量验证器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/924950

相关文章

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Java CompletableFuture如何实现超时功能

《JavaCompletableFuture如何实现超时功能》:本文主要介绍实现超时功能的基本思路以及CompletableFuture(之后简称CF)是如何通过代码实现超时功能的,需要的... 目录基本思路CompletableFuture 的实现1. 基本实现流程2. 静态条件分析3. 内存泄露 bug