【技术实现步骤摘要】
程序运行异常时的数据获取方法、装置、终端及存储介质
本专利技术涉及数据获取
,尤其涉及的是一种程序运行异常时的数据获取方法、装置、终端及存储介质。
技术介绍
随着现代程序的代码规模和业务复杂度不断的增加,迫切需要一种能够准确获取程序运行发生错误时的相关内存数据和定位代码的手段,来达到快速解决复杂程序运行错误的目的。特别是嵌入式环境下的程序,系统资源和调试工具的不足更要求该手段满足简单、易实现、资源占用低的要求。现有linux内核的coredump调试技术(当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,该技术即为coredump调试技术),会无差别的保存程序运行中的所有内存数据,占用大量的存储空间,且不适用于嵌入式系统环境。因此,现有技术还有待改进和发展。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种程序运行异常时的数据获取方法、装置、终端及存储介质,旨在解决现有技术中当程序出现异常时,会无差别的保存程序运 ...
【技术保护点】
1.一种程序运行异常时的数据获取方法,其特征在于,所述方法包括:/n当程序出现异常运行状态时,获取所述程序中与所述异常运行状态中所对应的函数之间的调用关系数据;/n获取所述程序中与所述异常运行状态中所对应的函数的内存数据。/n
【技术特征摘要】
1.一种程序运行异常时的数据获取方法,其特征在于,所述方法包括:
当程序出现异常运行状态时,获取所述程序中与所述异常运行状态中所对应的函数之间的调用关系数据;
获取所述程序中与所述异常运行状态中所对应的函数的内存数据。
2.根据权利要求1所述的程序运行异常时数据获取方法,其特征在于,所述获取所述程序中与所述异常运行状态中所对应的函数的内存数据,包括:
获取所述异常运行状态,并对所述异常运行状态进行解析,得到与所述异常运行状态所对应的函数;
从所述函数中获取被调用函数以及调用者函数之间的调用关系数据。
3.根据权利要求1所述的程序运行异常时数据获取方法,其特征在于,所述从所述函数中获取被调用函数以及调用者函数之间的调用关系数据,包括:
获取被调用函数的栈帧地址,从所述被调用函数的所述栈帧地址中获取调用者函数的指令地址;
从调用者函数的指令地址中获取调用者函数的申请栈帧长度,得到获取被调用函数以及调用者函数之间的调用关系数据。
4.根据权利要求3所述的程序运行异常时数据获取方法,其特征在于,所述获取所述程序中与所述异常运行状态中所对应的函数的内存数据,包括:
获取所述函数所对应的栈帧地址,并从所述栈帧地址中获取内存数据。
5.根据权利要求4所述的程序运行异常时数据获取方法,其特征在于,所述从所述栈帧地址中获取内存数据,包括:
从所述被调用函数的栈帧地址中获取所述被调用函数的内存数...
【专利技术属性】
技术研发人员:向卫东,孟庆晓,吴闽华,
申请(专利权)人:深圳震有科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。