System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,具体而言,涉及一种故障定位方法、装置、电子设备及存储介质。
技术介绍
1、smmu(system memory management unit)是arm架构中的一种系统级内存管理单元,主要负责处理i/o设备的内存管理任务。
2、当smmu产生故障时,系统会自动打印当前的错误信息到系统日志log中,但是当人工去检查时,由于错误信息是遵循特定格式存储的,人工很难从log中读懂smmu的错误信息。
3、现有技术通过人工查看log,再结合smmu特性文档进行对比,对错误信息进行定位,其故障定位效率十分低。
技术实现思路
1、本申请的目的在于,针对上述现有技术中的不足,提供一种故障定位方法、装置、电子设备及存储介质,以便对smmu故障进行自动定位,提高故障定位效率。
2、为实现上述目的,本申请实施例采用的技术方案如下:
3、第一方面,本申请实施例提供了一种故障定位方法,应用于arm架构的系统,所述arm架构的系统包括:io设备、处理器和物理内存,所述处理器中包括系统内存管理单元,所述io设备通过所述系统内存管理单元访问所述物理内存,所述方法包括:
4、获取所述系统内存管理单元的系统日志;
5、对所述系统日志中事件关键字之后的数据进行解析,获取事件信息;
6、解析所述事件信息,确定事件标识;
7、根据所述事件标识,输出所述系统内存管理单元的故障信息。
8、可选地,所述获
9、判断是否接收到输入的解析路径;
10、若接收到输入的解析路径,从所述解析路径中获取所述系统日志;
11、若未接收到输入的解析路径,从默认路径中获取所述系统日志。
12、可选地,所述对所述系统日志的事件关键字之后的数据进行解析,获取事件信息,包括:
13、判断所述系统日志是否具有匹配的所述事件关键字;
14、若所述系统日志具有匹配的所述事件关键字,对所述事件关键字之后的数据进行逐行解析,获取所述事件信息。
15、可选地,所述对所述事件关键字之后的数据进行逐行解析,获取所述事件信息,包括:
16、依次解析所述事件关键字之后的每行字符串数据;
17、将所述每行字符串数据存储在字符类型的数组中;
18、若解析行数为预设行数,将所述字符类型的数组中的数据转换为与所述预设行数的数量相同的预设个数的长整型数据,所述事件信息包括:所述预设个数的长整型数据。
19、可选地,所述解析所述事件信息,确定事件标识,包括:
20、从第一个长整型数据中获取前预设位数的数据,得到所述事件标识。
21、可选地,所述依次解析所述事件关键字之后的每行字符串数据,包括:
22、判断所述事件关键字之后的预设位数的数据是否在预设范围内;
23、若所述事件关键字之后的预设位数的数据在预设范围内,依次解析所述事件关键字之后的每行字符串数据。
24、可选地,所述依次解析所述事件关键字之后的每行字符串数据,包括:
25、对所述事件关键字之后的每行数据进行进制关键字匹配;
26、若匹配到预设进制关键字,获取所述预设进制关键字之后的字符串数据。
27、可选地,所述根据所述事件标识,输出所述系统内存管理单元的故障信息,包括:
28、根据所述事件标识,从所述预设个数的长整型数据中获取其他事件参数;
29、根据所述事件标识和所述其他事件参数,输出所述系统内存管理单元的故障信息。
30、第二方面,本申请实施例还提供一种故障定位装置,应用于arm架构的系统,所述arm架构的系统包括:io设备、处理器和物理内存,所述处理器中包括系统内存管理单元,所述io设备通过所述系统内存管理单元访问所述物理内存,所述装置包括:
31、获取模块,用于获取所述系统内存管理单元的系统日志;
32、解析模块,用于对所述系统日志中事件关键字之后的数据进行解析,获取事件信息;
33、所述解析模块,还用于解析所述事件信息,确定事件标识;
34、输出模块,用于根据所述事件标识,输出所述系统内存管理单元的故障信息。
35、可选地,所述获取模块,具体用于判断是否接收到输入的解析路径;若接收到输入的解析路径,从所述解析路径中获取所述系统日志;若未接收到输入的解析路径,从默认路径中获取所述系统日志。
36、可选地,所述解析模块,具体用于判断所述系统日志是否具有匹配的所述事件关键字;若所述系统日志具有匹配的所述事件关键字,对所述事件关键字之后的数据进行逐行解析,获取所述事件信息。
37、可选地,所述解析模块,具体用于依次解析所述事件关键字之后的每行字符串数据;将所述每行字符串数据存储在字符类型的数组中;若解析行数为预设行数,将所述字符类型的数组中的数据转换为与所述预设行数的数量相同的预设个数的长整型数据,所述事件信息包括:预设个数的长整型数据。
38、可选地,所述解析模块,还用于从第一个长整型数据中获取前预设位数的数据,得到所述事件标识。
39、可选地,所述解析模块,还用于判断所述事件关键字之后的预设位数的数据是否在预设范围内;若所述事件关键字之后的预设位数的数据在预设范围内,依次解析所述事件关键字之后的每行字符串数据。
40、可选地,所述解析模块,还用于对所述事件关键字之后的每行数据进行进制关键字匹配;若匹配到预设进制关键字,获取所述预设进制关键字之后的字符串数据。
41、可选地,所述解析模块,还用于根据所述事件标识,从所述预设个数的长整型数据中获取其他事件参数;
42、所述输出模块,还用于根据所述事件标识和所述其他事件参数,输出所述系统内存管理单元的故障信息。
43、第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一项所述的故障定位方法的步骤。
44、第四方面,本申请实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一项所述的故障定位方法的步骤。
45、本申请的有益效果是:
46、本申请提供的故障定位方法、装置、电子设备及存储介质,通过对smmu的系统日志进行解析,获取有关故障事件的事件信息,从事件信息中解析出代表故障事件的事件标识,以直接输出与事件标识对应的smmu的故障信息,实现针对smmu故障的自动定位,可以显著提升smmu故障定位效率和故障信息的获取,为i/o设备的内存管理提供强有力的技术支持。本文档来自技高网...
【技术保护点】
1.一种故障定位方法,其特征在于,应用于ARM架构的系统,所述ARM架构的系统包括:IO设备、处理器和物理内存,所述处理器中包括系统内存管理单元,所述IO设备通过所述系统内存管理单元访问所述物理内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取所述系统内存管理单元的系统日志,包括:
3.根据权利要求1所述的方法,其特征在于,所述对所述系统日志的事件关键字之后的数据进行解析,获取事件信息,包括:
4.根据权利要求3所述的方法,其特征在于,所述对所述事件关键字之后的数据进行逐行解析,获取所述事件信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述解析所述事件信息,确定事件标识,包括:
6.根据权利要求4所述的方法,其特征在于,所述依次解析所述事件关键字之后的每行字符串数据,包括:
7.根据权利要求4所述的方法,其特征在于,所述依次解析所述事件关键字之后的每行字符串数据,包括:
8.根据权利要求4所述的方法,其特征在于,所述根据所述事件标识,输出所述系统内存管理单元的故障信
9.一种故障定位装置,其特征在于,应用于ARM架构的系统,所述ARM架构的系统包括:IO设备、处理器和物理内存,所述处理器中包括系统内存管理单元,所述IO设备通过所述系统内存管理单元访问所述物理内存,所述装置包括:
10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至8任一项所述的故障定位方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至8任一项所述的故障定位方法的步骤。
...【技术特征摘要】
1.一种故障定位方法,其特征在于,应用于arm架构的系统,所述arm架构的系统包括:io设备、处理器和物理内存,所述处理器中包括系统内存管理单元,所述io设备通过所述系统内存管理单元访问所述物理内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取所述系统内存管理单元的系统日志,包括:
3.根据权利要求1所述的方法,其特征在于,所述对所述系统日志的事件关键字之后的数据进行解析,获取事件信息,包括:
4.根据权利要求3所述的方法,其特征在于,所述对所述事件关键字之后的数据进行逐行解析,获取所述事件信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述解析所述事件信息,确定事件标识,包括:
6.根据权利要求4所述的方法,其特征在于,所述依次解析所述事件关键字之后的每行字符串数据,包括:
7.根据权利要求4所述的方法,其特征在于,所...
【专利技术属性】
技术研发人员:程全,许文康,宋文婷,
申请(专利权)人:飞腾信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。