System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种分析方法,具体为arm64架构freertos崩溃数据自动分析方法。
技术介绍
1、arm64架构freertos系统软件开发过程中,系统崩溃是常见问题。解决这种问题通常的做法是freertos系统软件崩溃时转储问题现场数据,再通过工程师分析转储数据,进而排查问题。转储数据中都包含通用寄存器和栈空间数据,有的情况下还包含各个进程空间数据。这需要分析数据的工程师对arm64架构非常熟悉,而且需要仔细分析转储数据,这就导致崩溃现场数据分析效率低。问题现场数据还有另一个缺点为freertos系统的转储数据格式和数据量大小不统一,使分析数据更加困难。
技术实现思路
1、为解决上述问题,本专利技术的目的是提供arm64架构freertos崩溃数据自动分析方法,通过自动分析工具分析初步分析崩溃问题现场数据,提取arm64寄存器和栈空间数据,并组织成统一的格式,将栈空间数据解析为调用栈,保存到分析报告。
2、本专利技术arm64架构freertos崩溃数据自动分析方法,包括以下步骤:
3、步骤s1:运行崩溃数据自动分析工具,并将转储的崩溃现场数据文件和freertos目标文件作为参数传递给崩溃数据自动分析工具;
4、步骤s2:崩溃数据自动分析工具对转储的崩溃现场数据文件进行初步分析,筛选出通用寄存器数据和栈空间数据,并将通用寄存器和栈空间以统一的格式及固定的数据量保存为新文件;
5、步骤s3:崩溃数据自动分析工具通过解析工具解析新
6、步骤s4:崩溃数据自动分析工具将通用寄存器保存到分析报告中,并输出分析报告。
7、进一步的,解析工具为addr2line工具;
8、执行addr2line工具时,需添加afpe选项,并指定freertos目标文件为afpe选项的输入文件。
9、进一步的,新文件中,通用寄存器和栈空间之间为stack before exception字段;stack before exception字段之前为通用寄存器;stack before exception字段之后为栈空间;
10、由stack before exception字段确定栈空间的起始地址、栈空间的结束地址及栈空间内数据的地址。
11、进一步的,addr2line工具从栈空间的起始地址开始,循环解析栈空间各数据的地址,直到栈空间的结束地址;addr2line工具每解析一栈空间内数据的地址均会返回一字段内容;根据字段内容判断addr2line工具解析的栈空间内数据的地址是否为代码段地址;若解析的栈空间内数据的地址为代码段地址,则返回该代码段地址对应的数据;addr2line工具将该代码段地址对应的数据解析出代码行,并输出一内容;输出的内容保存到分析报告中;输出的内容即为调用栈。
12、进一步的,分析报告中,通用寄存器和调用栈之间为back trace字段,back trace字段之前为通用寄存器,back trace字段之后为调用栈。
13、本专利技术的有益效果:
14、本专利技术的arm64架构freertos崩溃数据自动分析方法,通过崩溃数据自动分析工具初步分析转储数据,提取其中的通用寄存器和栈空间,并组织成统一的数据量和格式,然后通过解析工具将栈空间解析为调用栈,最后将调用栈和通用寄存器保存到分析报告并输出。
本文档来自技高网...【技术保护点】
1.一种ARM64架构FreeRTOS崩溃数据自动分析方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的ARM64架构FreeRTOS崩溃数据自动分析方法,其特征在于,解析工具为addr2line工具;
3.根据权利要求2所述的ARM64架构FreeRTOS崩溃数据自动分析方法,其特征在于,新文件中,通用寄存器和栈空间之间为stack before exception字段;stack beforeexception字段之前为通用寄存器;stack before exception字段之后为栈空间;
4.根据权利要求3所述的ARM64架构FreeRTOS崩溃数据自动分析方法,其特征在于,addr2line工具从栈空间的起始地址开始,循环解析栈空间各数据的地址,直到栈空间的结束地址;addr2line工具每解析一栈空间内数据的地址均会返回一字段内容;根据字段内容判断addr2line工具解析的栈空间内数据的地址是否为代码段地址;若解析的栈空间内数据的地址为代码段地址,则返回该代码段地址对应的数据;addr2line工具将该代码段地址对应的数
5.根据权利要求4所述的ARM64架构FreeRTOS崩溃数据自动分析方法,其特征在于,分析报告中,通用寄存器和调用栈之间为back trace字段,back trace字段之前为通用寄存器,back trace字段之后为调用栈。
...【技术特征摘要】
1.一种arm64架构freertos崩溃数据自动分析方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的arm64架构freertos崩溃数据自动分析方法,其特征在于,解析工具为addr2line工具;
3.根据权利要求2所述的arm64架构freertos崩溃数据自动分析方法,其特征在于,新文件中,通用寄存器和栈空间之间为stack before exception字段;stack beforeexception字段之前为通用寄存器;stack before exception字段之后为栈空间;
4.根据权利要求3所述的arm64架构freertos崩溃数据自动分析方法,其特征在于,addr2line工具从...
【专利技术属性】
技术研发人员:崔彦召,韩乃平,陈阳平,崔建英,马帅,张有泾,黄磊,张云飞,
申请(专利权)人:麒麟软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。