[发明专利]信息获取方法、装置、存储介质及设备有效
申请号: | 201910951262.9 | 申请日: | 2019-10-08 |
公开(公告)号: | CN110688245B | 公开(公告)日: | 2023-05-26 |
发明(设计)人: | 刘宇轩;彭新怀 | 申请(专利权)人: | 广州市百果园信息技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/34 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 511400 广东省广州市番*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 信息 获取 方法 装置 存储 介质 设备 | ||
1.一种信息获取方法,其特征在于,包括:
检测到预设应用程序进入预设卡顿状态时,获取运行时对象的第一系统函数的指针,其中,所述第一系统函数包括当发生应用程序无响应事件时用于备份运行时信息的函数;
通过所述运行时对象对所述第一系统函数进行调用,并向所述第一系统函数中传入输出流;
获取所述输出流中包含的信息,以得到卡顿上下文信息;
所述输出流是字节输出流或字符输出流;
所述卡顿上下文信息包括用于分析卡顿的相关信息,所述用于分析卡顿的相关信息包括Java层堆栈信息、内核堆栈信息、本地堆栈信息中至少一项;
所述预设卡顿状态对应的卡顿程度低于发生应用程序无响应事件时对应的卡顿程度。
2.根据权利要求1所述的方法,其特征在于,当前操作系统为安卓操作系统,所述第一系统函数为DumpForSigQuit函数。
3.根据权利要求1所述的方法,其特征在于,所述获取运行时对象的第一系统函数的指针,包括:
打开第一动态链接库,并获取所述第一动态链接库中的运行时对象的指针以及所述运行时对象的第一系统函数的指针。
4.根据权利要求1所述的方法,其特征在于,检测到预设应用程序发生卡顿时,获取运行时对象的第一系统函数的指针,包括:
检测到预设应用程序发生卡顿时,创建所述预设应用程序的第一进程的子进程,所述第一进程成为父进程;
利用所述子进程获取运行时对象的第一系统函数的指针;
所述通过所述运行时对象对所述第一系统函数进行调用,并向所述第一系统函数中传入输出流,包括:
利用所述子进程通过所述运行时对象对所述第一系统函数进行调用,并向所述第一系统函数中传入输出流;
所述获取所述输出流中包含的信息,以得到卡顿上下文信息,包括:
利用所述子进程获取所述输出流中包含的信息;
利用所述子进程获取所述父进程的所有线程的预设类型的堆栈信息;
根据所述输出流中包含的信息和所述预设类型的堆栈信息得到卡顿上下文信息。
5.根据权利要求4所述的方法,其特征在于,所述预设类型的堆栈信息包括内核堆栈信息和本地堆栈信息,利用所述子进程获取到的所述输出流中包含的信息中包括所述父进程的所有线程的Java层堆栈信息。
6.根据权利要求5所述的方法,其特征在于,利用所述子进程获取所述父进程的所有线程的内核堆栈信息,包括:
利用所述子进程获取运行时对象的线程列表对象的指针,并遍历所述父进程的所有线程,通过读取所有进程分别对应的预设堆栈文件目录来获取对应的内核堆栈信息。
7.根据权利要求5所述的方法,其特征在于,利用所述子进程获取所述父进程的所有线程的内核堆栈信息,包括:
利用所述子进程打开第二动态链接库,并获取第二系统函数的指针,通过调用所述第二系统函数来获取所述父进程的所有线程的本地堆栈信息,其中,所述第二系统函数包括Backtrace函数。
8.根据权利要求4所述的方法,其特征在于,在所述根据所述输出流中包含的信息和所述预设类型的堆栈信息得到卡顿上下文信息之后,还包括:
利用子进程通过匿名共享内存方式将所述卡顿上下文信息传递给所述父进程。
9.根据权利要求4所述的方法,其特征在于,所述创建所述预设应用程序的第一进程的子进程,包括:
若当前操作系统的版本号低于预设版本号,则创建所述预设应用程序的第一进程的子进程。
10.根据权利要求1-9任一所述的方法,其特征在于,在得到卡顿上下文信息之后,还包括:
将所述卡顿上下文信息写入预设本地文件,和/或,将所述上下文信息进行上报。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市百果园信息技术有限公司,未经广州市百果园信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910951262.9/1.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置