[发明专利]数据记录方法和数据记录装置有效
申请号: | 202210881085.3 | 申请日: | 2022-07-26 |
公开(公告)号: | CN115114117B | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 张锋巍;宁振宇;张一鸣 | 申请(专利权)人: | 南方科技大学 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/07 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 林明校 |
地址: | 518055 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 记录 方法 装置 | ||
本申请提供一种数据记录方法和数据记录装置。该方法包括:通过嵌入式追踪宏单元获取内核的跟踪数据;通过嵌入式追踪宏单元获取内核的时间戳数据;将跟踪数据和时间戳数据存储在缓冲区中,得到缓存数据;通过性能监控单元输出中断信息;根据中断信息将缓存数据存储在非易失性存储器中以进行数据记录。通过使用ARM处理器内部的嵌入式追踪宏单元分别获取内核的跟踪数据和时间戳数据,并将其存储在缓冲区中,当接收到中断信息后,及时的将缓存数据存入非易失性存储器中。通过此种方式,可以完整的记录目标程序在运行时的数据流,用户通过分析非易失性存储器中存储的数据,即可以准确的恢复目标程序的数据流,以完成对目标程序的故障诊断。
技术领域
本申请涉及处理器技术领域,尤其涉及一种数据记录方法和数据记录装置。
背景技术
实际系统中的故障诊断是很困难的,主要的障碍是,开发人员所能获得的信息是有限的,这些信息通常不足以帮助开发者修复或者定位相关的错误。此外,由于开发环境和生产环境之间的巨大差异,在开发环境中重现生产环境中的故障并不容易。
现有的故障诊断系统,例如,REPT、Snorlax、RETracer、Credal、POMP,通常利用现代硬件(如英特尔处理器跟踪)来记录程序的控制流。例如,将控制流与程序崩溃时捕获的核心转储一起使用,以推断数据流。但是,因为涉及故障的内存和寄存器可能在核心转储被捕获之前就被覆盖了,所以依靠最终崩溃的核心转储所记录的数据并不完整。
发明内容
本申请实施例的主要目的在于提出一种数据记录方法和数据记录装置,以提供一种应用于ARM处理器上的数据记录方案,可以完整的记录程序在运行时的控制流数据。
为实现上述目的,本申请实施例的第一方面提出了一种数据记录方法,所述方法包括:
通过嵌入式追踪宏单元获取内核的跟踪数据;
通过嵌入式追踪宏单元获取内核的时间戳数据;
将所述跟踪数据和所述时间戳数据存储在缓冲区中,得到缓存数据;
通过性能监控单元输出中断信息;
根据所述中断信息将所述缓存数据存储在非易失性存储器中以进行数据记录。
在一些实施例中,所述通过嵌入式追踪宏单元获取内核的时间戳数据,包括:
将所述嵌入式追踪宏单元配置为输出时间戳模式;
通过倒计时计数器触发所述嵌入式追踪宏单元的跟踪单元事件;
根据所述跟踪单元事件输出所述时间戳数据。
在一些实施例中,所述将所述跟踪数据和所述时间戳数据存储在缓冲区中,得到缓存数据,包括:
将所述跟踪数据和所述时间戳数据存储在嵌入式追踪路由器中,得到所述缓存数据。
在一些实施例中,所述通过性能监控单元输出中断信息,包括:
通过所述性能监控单元检测所述缓冲区中所述缓存数据的数据大小;
若所述缓存数据的数据大小大于预设阈值,则输出所述中断信息。
在一些实施例中,数据记录方法还包括:
获取当前系统调用的调用类型;
根据所述调用类型选择对应的记录方式以进行数据记录。
在一些实施例中,所述调用类型包括:读状态和写状态,所述根据所述调用类型选择对应的记录方式以进行数据记录,包括:
若所述调用类型为读状态,则对全部改变数据进行数据记录;
若所述调用类型为写状态,则仅对错误代码进行数据记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南方科技大学,未经南方科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210881085.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置