[发明专利]文件处理方法、应用程序运行故障定位方法和设备有效
申请号: | 201911131659.X | 申请日: | 2019-11-19 |
公开(公告)号: | CN110928779B | 公开(公告)日: | 2023-04-25 |
发明(设计)人: | 杨志谦 | 申请(专利权)人: | 抖音视界有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 徐晨影 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 处理 方法 应用程序 运行 故障 定位 设备 | ||
1.一种文件处理方法,其特征在于,所述文件包括应用程序的第一目标文件和所述应用程序对应的第二目标文件,所述第一目标文件的数据区域至少包括调试信息数据区域,所述第一目标文件的数据内容至少包括目标映射关系数据,所述调试信息数据区域被划分为多个数据子区域,所述方法包括:
至少根据所述应用程序的各个方法各自的指令总长度,为所述各个方法分别指定所述数据子区域,并将所述各个方法的指令偏移数据写入方法对应的数据子区域的目标位置,所述指令偏移数据包括指令偏移地址,每个数据子区域对应所述应用程序的一个或多个方法,且每个数据子区域的长度不小于本数据子区域对应的各个方法各自的指令总长度,所述目标位置为指令偏移数据中包括的指令偏移地址指向的位置;
从所述第一目标文件中读取目标映射关系数据,所述目标映射关系数据包括所述各个方法的指令偏移地址与所述应用程序的源代码行号的映射关系数据;
将所述目标映射关系数据保存到所述应用程序对应的第二目标文件中,并从所述第一目标文件中删除所述目标映射关系数据;
其中,所述调试信息数据区域的数据子区域划分方式为:
将所述应用程序的各个方法按照各自的指令总长度进行排序;
对所述各个方法构成的排序序列进行至少一次分组,直至每组方法的指令总长度最大值的求和结果不大于所述调试信息数据区域的长度,同一次得到的每组方法数量相同,每次分组的分组数量递减;
针对每次分组,查找每组方法的指令总长度最大值并求和,将求和结果与所述调试信息数据区域的长度比较,若求和结果不大于所述调试信息数据区域的长度,则按照各组方法的指令总长度最大值将所述调试信息数据区域分为与本次分组数量相同的数据子区域。
2.根据权利要求1所述的方法,其特征在于,所述至少根据所述应用程序的各个方法各自的指令总长度,为所述各个方法分别指定数据子区域,包括:
至少根据所述应用程序的各个方法各自的指令总长度和各自的方法名,为所述各个方法分别指定数据子区域,方法名相同的方法对应不同的数据子区域。
3.根据权利要求1所述的方法,其特征在于,所述至少根据所述应用程序的各个方法各自的指令总长度,为所述各个方法分别指定数据子区域,包括:
至少根据所述应用程序的各个方法各自的指令总长度和各自的方法参数数量,为所述各个方法分别指定数据子区域,方法参数数量不同的方法对应不同的数据子区域。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述指令偏移数据还包括所述指令偏移数据所在数据子区域的标识信息。
5.根据权利要求4所述的方法,其特征在于,所述数据子区域的标识信息包括:所述数据子区域对应的方法的方法参数数量,和/或,所述数据子区域的索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于抖音视界有限公司,未经抖音视界有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911131659.X/1.html,转载请声明来源钻瓜专利网。