异常堆栈信息获取方法、装置及计算机可读存储介质制造方法及图纸

技术编号:17304345 阅读:16 留言:0更新日期:2018-02-18 22:17
本发明专利技术公开了一种异常堆栈信息获取方法,该方法包括:在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息;读取侦测到所述异常信号时应用层记录的第二异常堆栈信息;将所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目。本发明专利技术还提出一种异常堆栈信息获取装置以及一种计算机可读存储介质。本发明专利技术解决了现有技术中难以及时地获取应用程序中的异常堆栈信息并上传的技术问题。

Abnormal stack information acquisition methods, devices and computer readable storage media

The invention discloses a method for exception stack access to information, the method comprises: in the operation process of the project, when the abnormal signal detected by default, call and execute abnormal signal processing function, the first exception stack in order to obtain information of native layer; second exception stack information read to detect the abnormal signal at the application layer the record will be assembled; the first exception stack information and the second information submitted to the server after the exception stack, and exit the project after the completion of the reported. The invention also proposes an abnormal stack information acquisition device and a computer readable storage medium. The invention solves the technical problem that it is difficult to obtain the abnormal stack information and upload in the application program in time.

【技术实现步骤摘要】
异常堆栈信息获取方法、装置及计算机可读存储介质
本专利技术涉及计算机
,尤其涉及一种异常堆栈信息获取方法、装置及计算机可读存储介质。
技术介绍
目前,如果APP在程序设计中存在异常,则用户在使用APP的过程中,会出现因APP的运行异常而发生崩溃闪退的现象,导致APP不能正常使用。因此,对于APP开发者来说,需要获取到应用程序在发生异常时产生的异常堆栈信息,及时地对应用程序中产生的异常问题的代码进行定位并分析。而现有的获取异常堆栈信息的方式一般是,在应用程序发生异常并崩溃后,程序再次启动时,会从本地获取异常堆栈信息并上传。但是这种处理方式存在一定的缺陷,如果应用程发生异常并崩溃后,用户没有再次启动应用,则无法上传。
技术实现思路
本专利技术提供一种异常堆栈信息获取方法、装置及计算机可读存储介质,其主要目的在于解决现有技术中难以及时地获取应用程序中的异常堆栈信息并上传的技术问题。为实现上述目的,本专利技术提供一种异常堆栈信息获取方法,该方法包括:在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息;读取侦测到所述异常信号时应用层记录的第二异常堆栈信息;将所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目。可选地,所述在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息的步骤包括:在所述项目的运行过程中,当侦测到预设的异常信号时,确定运行所述项目的操作系统的版本信息;调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息,并根据所述地址信息生成第一异常堆栈信息。可选地,所述调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息,并根据所述地址信息生成第一异常堆栈信息的步骤包括:调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息;根据所述地址信息获取异常堆栈数据,获取侦测到的所述异常信号的信号类型;将所述信号类型与所述异常堆栈数据组装后生成所述第一异常堆栈信息。可选地,所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目的步骤包括:读取存储的符号表,并基于所述符号表对获取到的第一异常堆栈信息进行还原处理,以将所述第一异常堆栈信息转换为所述服务器可读的第三异常堆栈信息;将所述第三异常堆栈信息与所述第二异常堆栈信息进行组装后上报至所述服务器,并在上报完成后退出所述项目。此外,为实现上述目的,本专利技术还提供一种异常堆栈信息获取装置,该装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异常堆栈信息获取程序,所述异常堆栈信息获取程序被所述处理器执行时实现如下步骤:在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息;读取侦测到所述异常信号时应用层记录的第二异常堆栈信息;将所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目。可选地,所述在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息的步骤包括:在所述项目的运行过程中,当侦测到预设的异常信号时,确定运行所述项目的操作系统的版本信息;调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息,并根据所述地址信息生成第一异常堆栈信息。可选地,所述调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息,并根据所述地址信息生成第一异常堆栈信息的步骤包括:调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息;根据所述地址信息获取异常堆栈数据,获取侦测到的所述异常信号的信号类型;将所述信号类型与所述异常堆栈数据组装后生成所述第一异常堆栈信息。可选地,所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目的步骤包括:读取存储的符号表,并基于所述符号表对获取到的第一异常堆栈信息进行还原处理,以将所述第一异常堆栈信息转换为所述服务器可读的第三异常堆栈信息;将所述第三异常堆栈信息与所述第二异常堆栈信息进行组装后上报至所述服务器,并在上报完成后退出所述项目。可选地,所述读取存储的符号表,并基于所述符号表对获取到的第一异常堆栈信息进行还原处理,以将所述第一异常堆栈信息转换为所述服务器可读的第三异常堆栈信息的步骤包括:启动信息还原脚本,基于所述信息还原脚本,将所述第一异常堆栈信息中的函数名依次与所述符号表中的函数名进行一一匹配,获取到所述第一异常堆栈信息中的函数名对应的文件名和行号;将获取的文件名和行号添加至原始的第一异常堆栈信息,生成所述服务器可读的第三异常堆栈信息。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有异常堆栈信息获取程序,所述异常堆栈信息获取程序被处理器执行时实现上述异常堆栈信息获取方法的步骤。本专利技术提出的异常堆栈信息获取方法、装置及计算机可读存储介质,在项目的运行过程中侦测到预设的异常信号时,调用并执行异常信号处理函数获取native层的第一异常堆栈信息,并且读取侦测到异常信号时应用层记录的第二异常堆栈信息,将上述native层和应用层的异常堆栈信息进行组装后上报至服务器,并且在上报完成后退出该项目,避免在检测到异常后,直接强制关闭项目,并且该专利技术能够通过预先定义的异常信号处理函数及时获取native层的第一异常堆栈信息在内的完整异常堆栈信息上传至服务器,能够全面的监控异常的发生,实时上报异常堆栈信息,对于开发人员来说,可以及时发现应用的异常,以便于快速进行异常定位和解决问题。附图说明图1为本专利技术异常堆栈信息获取方法第一实施例的流程图;图2为本专利技术异常堆栈信息获取方法第二实施例中步骤S30的细化流程示意图;图3为本专利技术异常堆栈信息获取装置较佳实施例的示意图;图4为本专利技术异常堆栈信息获取装置中的异常堆栈信息获取程序的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种异常堆栈信息获取方法。参照图1所示,为本专利技术异常堆栈信息获取方法第一实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。在本实施例中,该异常堆栈信息获取方法包括:步骤S10,在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息。本专利技术实施例中,项目是由代码构成的应用程序。终端可以从服务器下载项目,并安装运行。项目在终端上的运行过程中,对项目的运行情况进行实时检测。预先设置各种预设类型的异常信号,例如,</br>_SIGABRT:由调用abort函数产生,进程非正常退出</br>__SIGILL:非法指令异常</br>本文档来自技高网...
异常堆栈信息获取方法、装置及计算机可读存储介质

【技术保护点】
一种异常堆栈信息获取方法,其特征在于,所述方法包括:在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息;读取侦测到所述异常信号时应用层记录的第二异常堆栈信息;将所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目。

【技术特征摘要】
1.一种异常堆栈信息获取方法,其特征在于,所述方法包括:在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息;读取侦测到所述异常信号时应用层记录的第二异常堆栈信息;将所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目。2.根据权利要求1所述的异常堆栈信息获取方法,其特征在于,所述在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息的步骤包括:在所述项目的运行过程中,当侦测到预设的异常信号时,确定运行所述项目的操作系统的版本信息;调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息,并根据所述地址信息生成第一异常堆栈信息。3.根据权利要求2所述的异常堆栈信息获取方法,其特征在于,所述调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息,并根据所述地址信息生成第一异常堆栈信息的步骤包括:调用并执行与所述操作系统的版本信息对应的异常信号处理函数,获取发生异常的地址信息;根据所述地址信息获取异常堆栈数据,获取侦测到的所述异常信号的信号类型;将所述信号类型与所述异常堆栈数据组装后生成所述第一异常堆栈信息。4.根据权利要求1至3中任一项所述的异常堆栈信息获取方法,其特征在于,所述第一异常堆栈信息和所述第二异常堆栈信息进行组装后上报至服务器,并在上报完成后退出所述项目的步骤包括:读取存储的符号表,并基于所述符号表对获取到的第一异常堆栈信息进行还原处理,以将所述第一异常堆栈信息转换为所述服务器可读的第三异常堆栈信息;将所述第三异常堆栈信息与所述第二异常堆栈信息进行组装后上报至所述服务器,并在上报完成后退出所述项目。5.一种异常堆栈信息获取装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异常堆栈信息获取程序,所述异常堆栈信息获取程序被所述处理器执行时实现如下步骤:在项目的运行过程中,当侦测到预设的异常信号时,调用并执行异常信号处理函数,以获取native层的第一异常堆栈信息;读取侦测到所述异常信号时应用层记录的第二异常堆栈信息;将所述第一异常堆栈信息和所述第二异常堆...

【专利技术属性】
技术研发人员:杜远叶龙飞
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1