堆栈信息处理方法、装置、电子设备和存储介质与流程

文档序号:27017166发布日期:2021-10-23 02:05阅读:来源:国知局

技术特征:
1.一种堆栈信息处理方法,其特征在于,所述方法包括:当监测到应用程序通过目标信息发送函数进行函数调用事件,执行预先加载在所述目标信息发送函数中的钩子函数;通过所述钩子函数,获取所述函数调用事件中的函数调用信息,所述函数调用信息包含被调用函数的函数相关信息;根据所述函数调用信息中的所述函数相关信息,更新崩溃堆栈;在所述应用程序运行崩溃时,基于所述崩溃堆栈得到符号化的堆栈信息。2.根据权利要求1所述的堆栈信息处理方法,其特征在于,所述根据所述函数调用信息中的所述函数相关信息,更新崩溃堆栈,包括:在进行新的函数调用事件时,将第一函数的函数相关信息保存至所述崩溃堆栈,所述第一函数为新进行的函数调用事件中,被所述目标信息发送函数调用的函数。3.根据权利要求2所述的堆栈信息处理方法,其特征在于,所述将第一函数的函数相关信息保存至所述崩溃堆栈之前,还包括:若不存在崩溃堆栈,新建用于保存函数相关信息的崩溃堆栈。4.根据权利要求1所述的堆栈信息处理方法,其特征在于,所述根据所述函数调用信息中的所述函数相关信息,更新崩溃堆栈,包括:在函数调用事件完成后,将第二函数的函数相关信息从所述崩溃堆栈中删除,所述第二函数为已完成的函数调用事件中,被所述目标信息发送函数调用的函数。5.根据权利要求1所述的堆栈信息处理方法,其特征在于,在所述应用程序运行崩溃时,若所述应用程序对应的线程数量为至少两个,所述基于所述崩溃堆栈得到符号化的堆栈信息,包括:确定至少两个线程中的问题线程,所述问题线程为导致所述应用程序运行崩溃的线程;基于所述问题线程对应的崩溃堆栈得到符号化的堆栈信息,所述符号化的堆栈信息包括所述问题线程对应的正在进行的函数调用事件中,被调用函数的函数相关信息。6.根据权利要求1所述的堆栈信息处理方法,其特征在于,还包括以下各项中的至少一项:第一项:输出所述符号化的堆栈信息;第二项:输出所述应用程序对应的问题函数的函数相关信息,所述问题函数为导致所述应用程序运行崩溃的函数,所述问题函数基于所述符号化的堆栈信息确定得到。7.根据权利要求1-6任一项所述的堆栈信息处理方法,其特征在于,所述函数相关信息包括函数对应的类名以及函数名。8.一种堆栈信息处理装置,其特征在于,所述装置包括:钩子执行模块,用于当监测到应用程序通过目标信息发送函数进行函数调用事件,执行预先加载在所述目标信息发送函数中的钩子函数;信息获取模块,用于通过所述钩子函数,获取所述函数调用事件中的函数调用信息,所述函数调用信息包含被调用函数的函数相关信息;堆栈更新模块,用于根据所述函数调用信息中的所述函数相关信息,更新崩溃堆栈;信息处理模块,用于在所述应用程序运行崩溃时,基于所述崩溃堆栈得到符号化的堆
栈信息。9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本申请涉及一种堆栈信息处理方法、装置、电子设备和存储介质,通过预先在目标信息发送函数中加载钩子函数,可以获取应用程序在进行函数调用事件时的函数调用信息,并对崩溃堆栈进行更新。在函数调用出现问题,导致应用程序运行崩溃时,根据崩溃堆栈保存的函数调用信息即可得到符号化的堆栈信息。由于该符号化的堆栈信息包括有正在进行的函数调用事件对应的函数调用信息,而该正在进行的函数调用事件导致了应用程序崩溃,开发人员可以直接根据符号化的堆栈信息确定导致应用程序崩溃的具体原因,而无需依赖dSYM文件以及符号化工具等,从而有助于提高软件开发效率。而有助于提高软件开发效率。而有助于提高软件开发效率。


技术研发人员:陈智
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2020.04.21
技术公布日:2021/10/22
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1