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

相关文章

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.