[发明专利]一种采集追踪trace调用链的方法和电子设备有效
申请号: | 202010225986.8 | 申请日: | 2020-03-26 |
公开(公告)号: | CN113448815B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 江利进;罗煜;李翠琴 | 申请(专利权)人: | 华为技术有限公司;多伦多大学理事会 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 张卿;时林 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采集 追踪 trace 调用 方法 电子设备 | ||
1.一种采集追踪trace调用链的方法,所述方法应用于电子设备中,其特征在于,所述方法包括:
所述电子设备从寄存器中获取函数的时间信息和标识信息,所述时间信息包括进入所述函数的时刻以及退出所述函数的时刻;
所述电子设备将所述时间信息和所述标识信息存储在内存中;
在满足预设条件时,所述电子设备根据所述标识信息确定所述函数对应的函数名,并将所述内存中的所述时间信息以及所述函数名写入trace文件。
2.根据权利要求1所述的方法,其特征在于,所述电子设备根据所述标识信息确定所述函数对应的函数名,包括:
所述电子设备调用转化接口,将所述函数的标识信息转化为所述函数名。
3.根据权利要求1或2所述的方法,其特征在于,所述标识信息为所述函数的指针地址。
4.根据权利要求1或2所述的方法,其特征在于,所述寄存器包括第一寄存器和第二寄存器,所述电子设备从寄存器中获取函数的时间信息和标识信息,包括:
所述电子设备在所述函数开始运行时,从所述第一寄存器获取进入所述函数的时刻且从所述第二寄存器获取所述函数的标识信息;
所述电子设备在所述函数运行结束时,从所述第一寄存器获取退出所述函数的时刻。
5.根据权利要求1或2所述的方法,其特征在于,所述预设条件包括:所述电子设备启动第一应用程序的时长大于或者等于预设时长;或者,
所述电子设备的丢帧数大于或者等于预设帧数。
6.根据权利要求1或2所述的方法,其特征在于,实现所述方法的代码在所述电子设备的安卓运行时ART中。
7.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
从寄存器中获取函数的时间信息和标识信息,所述时间信息包括进入所述函数的时刻以及退出所述函数的时刻;
将所述时间信息和所述标识信息存储在内存中;
在满足预设条件时,根据所述标识信息确定所述函数对应的函数名,并将所述内存中的所述时间信息以及所述函数名写入trace文件。
8.根据权利要求7所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
调用转化接口,将所述函数的标识信息转化为所述函数名。
9.根据权利要求7或8所述的电子设备,其特征在于,所述标识信息为所述函数的指针地址。
10.根据权利要求7或8所述的电子设备,其特征在于,所述寄存器包括第一寄存器和第二寄存器,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
在所述函数开始运行时,从所述第一寄存器获取进入所述函数的时刻且从所述第二寄存器获取所述函数的标识信息;
在所述函数运行结束时,从所述第一寄存器获取退出所述函数的时刻。
11.根据权利要求7或8所述的电子设备,其特征在于,所述预设条件包括:所述电子设备启动第一应用程序的时长大于或者等于预设时长;或者,
所述电子设备的丢帧数大于或者等于预设帧数。
12.根据权利要求7或8所述的电子设备,其特征在于,所述指令包含在所述电子设备的安卓运行时ART中。
13.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任一项所述的采集追踪trace调用链的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;多伦多大学理事会,未经华为技术有限公司;多伦多大学理事会许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010225986.8/1.html,转载请声明来源钻瓜专利网。