[发明专利]一种核心转储文件的生成方法、计算设备及存储介质有效
申请号: | 202111111767.8 | 申请日: | 2021-09-23 |
公开(公告)号: | CN113553211B | 公开(公告)日: | 2022-01-18 |
发明(设计)人: | 刘昌辉 | 申请(专利权)人: | 统信软件技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30 |
代理公司: | 北京瀚方律师事务所 11774 | 代理人: | 周红力 |
地址: | 100176 北京市大兴区北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 核心 文件 生成 方法 计算 设备 存储 介质 | ||
本发明公开了一种核心转储文件的生成方法、计算设备及存储介质,该方法包括:监听目标程序的状态,所述目标程序中嵌入有预加载库;若所述目标程序出现异常,复制所述目标程序的当前进程,以生成所述当前进程对应的新进程;基于所述新进程,获取所述当前进程的关联数据;将所述关联数据进行转储处理,生成核心转储文件。根据本发明的技术方案,在没有根权限的情况下,可生成轻量级且具有一定保密性的核心转储文件。
技术领域
本发明涉及计算机技术领域,特别涉及一种核心转储文件的生成方法、计算设备及存储介质。
背景技术
核心转储(Coredump)是指当程序出错而异常中断时,操作系统会把程序工作的当前状态存储成一个核心转储文件。通常情况下,核心转储文件包含了程序运行时的内存、寄存器状态、堆栈指针、内存管理信息等。
以Linux操作系统为例,在内核态生成的核心转储文件时,由于需要将进程的有效VMA(Virtual Memory Areas,虚拟内存区域)信息全量转储出来,这意味着大进程的核心转储文件会非常庞大,甚至达到TB(Terabyte,太字节)级别,在生成和保存过程中严重消耗了各类系统资源,对系统的稳定性带来冲击。
目前,新版本的Linux内核提供了一个虚拟配置文件来控制核心转储文件的大小,其本质是将转储的内存进行分类,每一类内存用一个比特位来标记。例如,用根权限设置好核心转储文件,打开谷歌浏览器访问百度首页,然后强行退出谷歌浏览器进程,可以得到生成的核心转储文件高达350MB(Mbyte,兆字节)。由此看来,虽然Linux内核提供了核心转储机制,但是需要根权限配置,由内核创建,并且生成的核心转储文件过大,影响了系统性能。
因此,需要一种新的核心转储文件的生成方法来优化上述处理过程。
发明内容
为此,本发明提供一种核心转储文件的生成方案,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种核心转储文件的生成方法,包括如下步骤:首先,监听目标程序的状态,目标程序中嵌入有预加载库;若目标程序出现异常,复制目标程序的当前进程,以生成当前进程对应的新进程;基于新进程,获取当前进程的关联数据;将关联数据进行转储处理,生成核心转储文件。
可选地,在根据本发明的核心转储文件的生成方法中,监听目标程序的状态的步骤,包括:在目标程序运行之后,加载预加载库;通过注册预加载库中的信号处理函数,监听目标程序的异常事件。
可选地,在根据本发明的核心转储文件的生成方法中,复制目标程序的当前进程,以生成当前进程对应的新进程的步骤,包括:调用预加载库中的信号处理函数;通过信号处理函数,复制出当前进程的新进程。
可选地,在根据本发明的核心转储文件的生成方法中,在基于新进程,获取当前进程的关联数据的步骤之前,还包括:设置新进程附加当前进程,以跟踪当前进程并获得当前进程的关联数据的访问权限。
可选地,在根据本发明的核心转储文件的生成方法中,基于新进程,获取当前进程的关联数据的步骤,包括:调用预加载库中的数据抓取函数,获取当前进程的关联数据,关联数据包括当前进程的全部线程的上下文数据和内存数据。
可选地,在根据本发明的核心转储文件的生成方法中,将关联数据进行转储处理,生成核心转储文件的步骤,包括:从关联数据中获取目标程序的版本号、目标程序出现异常时的时间戳、当前线进程的线程数量以及出现异常的线程标识,组合形成文件头;调用预加载库中的数据处理函数,对关联数据中的其他数据进行压缩后,结合文件头生成核心转储文件并进行存储。
可选地,在根据本发明的核心转储文件的生成方法中,还包括:核心转储文件生成完毕之后,通过新进程结束转储处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于统信软件技术有限公司,未经统信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111111767.8/2.html,转载请声明来源钻瓜专利网。