[发明专利]一种应用程序dump文件获取方法、装置及电子设备有效
申请号: | 201810028033.5 | 申请日: | 2018-01-11 |
公开(公告)号: | CN108255719B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 周志刚;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 dump 文件 获取 方法 装置 电子设备 | ||
本发明实施例公开了一种应用程序dump文件获取方法、装置及电子设备。本发明实施例方法包括:通过建立获取dump文件的模块;在该模块中编写生成dump文件的功能函数;在模块中编写异常处理函数;在电子设备系统中注册异常处理函数;屏蔽系统中其它异常处理模块注册异常处理函数;将模块注入需要获取dump文件的第三方目标应用程序中,以在目标应用程序发生异常时,通过该模块生成dump文件。本发明实施例中编写一个独立的抓取dump功能的模块,然后将此模块注入到需要抓取dump文件的任意第三方目标应用程序中。当第三方目标应用程序产生异常错误时,被注入的模块则会捕获到此异常,从而生成dump文件,可以方便开发人员或者应用程序使用者快速定位崩溃的原因。
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序dump文件获取方法、装置及电子设备。
背景技术
目前,对于Windows软件开发,在编写软件程序时,没人能保证自己的软件在各种未知环境运行下,会没有任何问题。因此,对于Windows系统,系统提供了相应的应用程序编程接口(Application Programming Interface,API)来对程序中出现的异常进行捕获,捕获异常后则可以调用系统的API函数来生成dump文件,其中dump文件则包含当期程序异常时的函数调用堆栈,客户端软件则将此dump文件上报到服务器。开发人员则主要通过Windows提供的Windbg工具来查看dump文件的异常原因,从而能够解决崩溃的问题。例如除数为0、对一个空指针进行读写数据,内存申请失败等等。从而能够定位程序出错的原因,协助开发人员解决问题。产生异常以及异常捕获目前主要用于程序错误原因的定位和解决。
然而目前有些软件并没有编写相应的异常处理抓取dump文件(指程序崩溃时,记录当前错误的原因以及进程运行的环境上下文等,用于定位程序错误的原因解决崩溃问题)的功能,而一些游戏软件即使编写了异常处理抓取dump文件的功能,在某些情况下也抓取不到dump文件。因此,目前抓取dump文件不具有普适性,无法适用于任意的应用程序,给开发人员分析异常造成了不便。
发明内容
本发明实施例提供了一种应用程序dump文件获取方法、装置及电子设备,以解决目前抓取dump文件不具有普适性,无法适用于任意的应用程序,开发人员无法有效分析的问题。
第一方面,本申请提供了一种应用程序dump文件获取方法,应用于电子设备中,该方法包括:
建立获取dump文件的模块;
在所述模块中编写生成dump文件的功能函数;
在所述模块中编写捕获异常的异常处理函数;
在所述电子设备系统中注册所述异常处理函数;
屏蔽所述电子设备系统中其它异常处理模块注册异常处理函数;
将所述模块注入需要获取dump文件的第三方目标应用程序中,以在所述目标应用程序发生异常时,通过所述模块生成dump文件。
进一步的,在所述模块中编写生成dump文件的功能函数,包括:
在所述模块中编写调用系统提供的功能函数CreateFile的模块,以创建一个dump文件;
在所述模块中编写调用系统函数MiniDumpWriteDump的模块,以将生成的dump信息写入到dump文件。
进一步的,在所述模块中编写异常处理函数,包括:
在所述模块中定义一个异常处理函数,所述异常处理函数中定义了处理的异常类型信息,以及在捕获异常时调用所述生成dump文件的功能函数。
进一步的,所述屏蔽所述电子设备系统中其它异常处理模块注册异常处理函数,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810028033.5/2.html,转载请声明来源钻瓜专利网。