[发明专利]一种核心转储调试的方法、电子设备及系统在审
申请号: | 202110749020.9 | 申请日: | 2021-07-01 |
公开(公告)号: | CN113434325A | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 张驰;胡志刚;陈凌君 | 申请(专利权)人: | 斑马网络技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/455 |
代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 徐颖聪 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 核心 调试 方法 电子设备 系统 | ||
本发明提供一种核心转储调试的方法、电子设备及系统,其中,所述方法应用于电子设备中,所述电子设备与主机连接,所述方法包括:所述电子设备在软件异常时根据设定的维度生成核心转储文件;所述电子设备在模拟器中运行核心转储可执行程序解析所述核心转储文件复现异常现场;所述主机使用GDB对异常现场进行调试。本发明实施例的核心转储调试的方法,可以根据需求增加维测信息,提高了核心转储的调试准确性,并且可以进行离线调试,减少了定位程序崩溃原因所需的时间。
技术领域
本发明涉及数据处理技术,具体涉及一种核心转储调试的方法、电子设备及系统。
背景技术
在Linux系统中,当程序由于各种异常导致在运行过程中异常退出或者中止会进行核心转储操作将内存信息和运行状态记录下来,开发人员可以通过查看核心转储文件分析崩溃原因。现有的核心转储技术只能按照标准格式储存信息并且格式复杂冗长,定位问题难度较大,同时,现有的核心转储文件也无法进行逻辑调试,不利于开发人员查找程序崩溃的原因。
发明内容
有鉴于此,本发明提供一种核心转储调试的方法、电子设备及系统,能够快速查找程序崩溃原因。
为解决上述技术问题,本发明采用以下技术方案:
根据本发明实施例的核心转储调试的方法,应用于电子设备,电子设备与主机连接,方法包括:
电子设备在软件异常时根据设定的维度生成核心转储文件;
电子设备在模拟器中运行核心转储可执行程序解析核心转储文件复现异常现场;
主机使用程序调试工具对异常现场进行调试。
进一步地,电子设备在软件异常时根据设定的维度生成核心转储文件,包括:
电子设备创建空的核心转储文件,并根据设定的维度将软件运行异常指令及异常信息写入核心转储文件;
电子设备将核心转储文件保存至非易失存储空间。
进一步地,电子设备在模拟器中运行核心转储可执行程序解析核心转储文件复现异常现场,包括:
电子设备将模拟器部署至服务器并将核心转储文件传入服务器;
服务器自动运行命令启动模拟器;
模拟器运行核心转储可执行程序解析核心转储文件复现异常现场。
更进一步地,服务器自动运行命令启动模拟器,包括:
模拟器启动虚拟CPU并将通用寄存器清零;
虚拟CPU进行初始化操作,其中,初始化操作包括禁止异常、关闭中断、关闭cache、关闭内存管理单元、关闭分支预测等操作;
虚拟CPU设置堆栈指针寄存器。
更进一步地,模拟器运行核心转储可执行程序解析核心转储文件复现异常现场,包括:
核心转储可执行程序读取核心转储文件中的异常指令及异常信息;
核心转储可执行程序通过虚拟内存管理单元将异常信息保存的地址空间映射至模拟器的虚拟地址空间;
核心转储可执行程序保存异常指令,并将其设置为死循环。
进一步地,主机使用程序调试工具对异常现场进行调试,包括:
主机运行程序调试工具连接服务器上的调试远程服务器;
主机通过程序调试工具对异常现场进行调试。
本发明另一方面实施例提供一种电子设备,电子设备与主机连接,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于斑马网络技术有限公司,未经斑马网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110749020.9/2.html,转载请声明来源钻瓜专利网。