一种指令高速缓存中函数定位方法、装置、设备及介质制造方法及图纸

技术编号:39437490 阅读:9 留言:0更新日期:2023-11-19 16:20
本发明专利技术提出了一种指令高速缓存中函数定位方法,应用于固态硬盘控制器中,包括:获取指令高速缓存中当前有效的全部地址以及反汇编文件;其中,所述反汇编文件中存储有函数编译信息;以指令高速缓存中当前有效的全部地址为目标地址字符串,在反汇编文件中遍历查找目标地址字符串分别对应的目标函数名称字符串;去除目标函数名称字符串中无效字符后,分别输出目标函数名称字符串中的函数名称,本发明专利技术还提出了一种指令高速缓存中函数定位装置、设备及介质,有效地提高了指令高速缓存中函数定位输出的效率以及可靠性。出的效率以及可靠性。出的效率以及可靠性。

【技术实现步骤摘要】
一种指令高速缓存中函数定位方法、装置、设备及介质


[0001]本专利技术涉及函数定位领域,尤其是涉及一种指令高速缓存中函数定位方法、装置、设备及介质。

技术介绍

[0002]ICACHE(Instruction Cache,指令高速缓存)中通常存储着CPU(Central Processing Unit,中央处理器)最常用的指令,查找出ICACHE中存储的地址就可以定位到对应指令,进而找到对应的函数,得到CPU最常使用的函数,便于程序员进行分析。
[0003]相关技术中,定位指令高速缓存中函数,一般是通过读取ELF(Executable and Linkable Format,可执行与可链接格式文件类型)文件和ICACHE中的有效地址为输入,输出对应的函数名称实现,但是,并没有考虑过函数体过长导致产生了额外符号的条件,可能会发生输出的函数名称与实际函数名称不匹配的情况,而且,因为ELF文件为二进制文件,在函数体过长导致产生的额外符号的识别过程中,涉及到格式转换,导致识别效率以及可靠性均不高,从而使得指令高速缓存中函数定位输出的效率以及可靠性不高。
[0004]针对这种问题,本专利技术提供了一种指令高速缓存中函数定位方法、装置、设备及介质,以解决上述问题。

技术实现思路

[0005]本专利技术为了解决现有技术中存在的问题,创新提出了一种指令高速缓存中函数定位方法、装置、设备及介质,有效解决由于现有技术造成指令高速缓存中函数定位输出的效率以及可靠性不高的问题,有效地提高了指令高速缓存中函数定位输出的效率以及可靠性。
[0006]本专利技术第一方面提供了一种指令高速缓存中函数定位方法,应用于固态硬盘控制器中,包括:
[0007]获取指令高速缓存中当前有效的全部地址以及反汇编文件;其中,所述反汇编文件中存储有函数编译信息;
[0008]以指令高速缓存中当前有效的全部地址为目标地址字符串,在反汇编文件中遍历查找目标地址字符串分别对应的目标函数名称字符串;
[0009]去除目标函数名称字符串中无效字符后,分别输出目标函数名称字符串中的函数名称。
[0010]可选地,所述指令高速缓存结构中包括有效位和存储地址。
[0011]进一步地,所述获取指令高速缓存中当前有效的全部地址之前,还包括:
[0012]获取用户输入的指令高速缓存中的有效地址,判断指令高速缓存结构中的有效位是否生效,如果有效位生效,则获取指令高速缓存中当前有效的全部地址。
[0013]可选地,所述函数编译信息包括函数的指令信息、函数指令信息对应的机器码信息、函数的名称信息、函数指令所存储的地址信息。
[0014]进一步地,所述反汇编文件中函数的名称信息所在行与函数指令所存储的地址信息所在行相邻,且反汇编文件中函数的名称信息所在行位于函数指令所存储的地址信息所在行上方;其中,一个函数名称对应多条指令,每条指令对应一个存储地址信息。
[0015]进一步地,所述以指令高速缓存中当前有效的全部地址为目标地址字符串,在反汇编文件中遍历查找目标地址字符串分别对应的目标函数名称字符串具体包括:
[0016]将指令高速缓存中当前有效的全部地址作为目标地址字符串存入文本文件中,将反汇编文件内容作为待查找的字符串库,遍历反汇编文件匹配符合目标地址字符串内容的所在行;
[0017]确定目标地址字符串所在行后,在目标地址字符串所在行向上遍历每一行字符串,跳过包含地址字符串的所在行,直到查询到距离目标地址字符串所在行最近的不包含地址字符串的字符串行,将距离目标地址字符串所在行最近的不包含地址字符串的字符串行定位为目标函数名称字符串所在行。
[0018]可选地,所述反汇编文件支持实时更新配置或不定期更新配置,所述更新配置包括但不限于新建、修改、删除。
[0019]本专利技术第二方面提供了一种指令高速缓存中函数定位装置,应用于固态硬盘控制器中,包括:
[0020]获取模块,获取指令高速缓存中当前有效的全部地址以及反汇编文件;其中,所述反汇编文件中存储有函数编译信息;
[0021]遍历查找模块,以指令高速缓存中当前有效的全部地址为目标地址字符串,在反汇编文件中遍历查找目标地址字符串分别对应的目标函数名称字符串;
[0022]输出模块,去除目标函数名称字符串中无效字符后,分别输出目标函数名称字符串中的函数名称。
[0023]本专利技术第三方面提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如本专利技术第一方面所述的一种指令高速缓存中函数定位方法的步骤。
[0024]本专利技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本专利技术第一方面所述的一种指令高速缓存中函数定位方法的步骤。
[0025]本专利技术采用的技术方案包括以下技术效果:
[0026]1、本专利技术技术方案通过获取指令高速缓存中当前有效的全部地址以及反汇编文件;其中,所述反汇编文件中存储有函数编译信息;以指令高速缓存中当前有效的全部地址为目标地址字符串,在反汇编文件中遍历查找目标地址字符串分别对应的目标函数名称字符串;去除目标函数名称字符串中无效字符后,分别输出目标函数名称字符串中的函数名称,有效解决由于现有技术造成指令高速缓存中函数定位输出的效率以及可靠性不高的问题,有效地提高了指令高速缓存中函数定位输出的效率以及可靠性。
[0027]2、本专利技术技术方案中获取指令高速缓存中当前有效的全部地址之前,还包括:获取用户输入的指令高速缓存中的有效地址,判断指令高速缓存结构中的有效位是否生效,只有在有效位生效时,获取指令高速缓存中当前有效的全部地址,当有效位未生效时,则获取用户输入的指令高速缓存中的有效地址,使得获取的指令高速缓存中当前全部地址均为
有效地址,进一步地保证了指令高速缓存中函数定位输出的可靠性。
[0028]3、本专利技术技术方案中将指令高速缓存中当前有效的全部地址作为目标地址字符串存入文本文件中,将反汇编文件内容作为待查找的字符串库,遍历反汇编文件匹配符合目标地址字符串内容的所在行;确定目标地址字符串所在行后,在目标地址字符串所在行向上遍历每一行字符串,跳过包含地址字符串的所在行,直到查询到距离目标地址字符串所在行最近的不包含地址字符串的字符串行,将距离目标地址字符串所在行最近的不包含地址字符串的字符串行定位为目标函数名称字符串所在行,使得目标地址与目标函数名称的对应一致性,进一步地保证了指令高速缓存中函数定位输出的可靠性。
[0029]4、本专利技术技术方案中反汇编文件支持实时更新配置或不定期更新配置,所述更新配置包括但不限于新建、修改、删除,保证了保证了在不同类型指令高速缓存或同一指令高速缓存在不同运行环境中的有效进行。
[0030]应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。
附图说明
[0031]为了更清本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令高速缓存中函数定位方法,其特征是,应用于固态硬盘控制器中,包括:获取指令高速缓存中当前有效的全部地址以及反汇编文件;其中,所述反汇编文件中存储有函数编译信息;以指令高速缓存中当前有效的全部地址为目标地址字符串,在反汇编文件中遍历查找目标地址字符串分别对应的目标函数名称字符串;去除目标函数名称字符串中无效字符后,分别输出目标函数名称字符串中的函数名称。2.根据权利要求1所述的一种指令高速缓存中函数定位方法,其特征是,所述指令高速缓存结构中包括有效位和存储地址。3.根据权利要求2所述的一种指令高速缓存中函数定位方法,其特征是,所述获取指令高速缓存中当前有效的全部地址之前,还包括:获取用户输入的指令高速缓存中的有效地址,判断指令高速缓存结构中的有效位是否生效,如果有效位生效,则获取指令高速缓存中当前有效的全部地址。4.根据权利要求1所述的一种指令高速缓存中函数定位方法,其特征是,所述函数编译信息包括函数的指令信息、函数指令信息对应的机器码信息、函数的名称信息、函数指令所存储的地址信息。5.根据权利要求4所述的一种指令高速缓存中函数定位方法,其特征是,所述反汇编文件中函数的名称信息所在行与函数指令所存储的地址信息所在行相邻,且反汇编文件中函数的名称信息所在行位于函数指令所存储的地址信息所在行上方;其中,一个函数名称对应多条指令,每条指令对应一个存储地址信息。6.根据权利要求5所述的一种指令高速缓存中函数定位方法,其特征是,所述以指令高速缓存中当前有效的全部地址为目标地址字符串,在反汇编文件中遍历查找目标地址字符串分别对应的目标函数名称字符串具体包括:将...

【专利技术属性】
技术研发人员:刘天娇
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1