[发明专利]定位程序宕机位置的方法、装置、电子设备、存储介质在审
申请号: | 202111598148.6 | 申请日: | 2021-12-27 |
公开(公告)号: | CN114265779A | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 李勇;李鹏;高锐;程泽;唐伟;张攀勇 | 申请(专利权)人: | 海光信息技术股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/34;G06F12/06 |
代理公司: | 北京兰亭信通知识产权代理有限公司 11667 | 代理人: | 赵永刚 |
地址: | 300384 天津市滨海新区华苑产*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定位 程序 机位 方法 装置 电子设备 存储 介质 | ||
本发明提供一种定位程序宕机位置的方法、装置、电子设备、存储介质。所述方法包括:当程序运行过程中系统发生宕机时,获取宕机时运行的当前程序模块的全局唯一标识符、所述当前程序模块的全局唯一标识符对应的入口物理地址;读取宕机时所述系统中的指令地址寄存器所存储的指令地址寄存器的物理地址;将所述指令地址寄存器的物理地址减去所述入口物理地址,得到第一偏移地址;获取所述当前程序模块的全局唯一标识符对应的第一映射文件;查找所述第一偏移地址对应的第一函数名称;根据所述第一映射文件,查找所述第一函数名称对应的函数的偏移地址;将第一函数名称对应的函数的偏移地址作为宕机位置,并输出。本发明能够定位程序的宕机位置。
技术领域
本发明涉及计算机系统技术领域,尤其涉及一种定位程序宕机位置的方法、装置、电子设备、存储介质。
背景技术
一个现代计算机系统的基本组成包括SOC系统级芯片、内存、固件、输入、输出设备、存储设备等。
现代计算机BIOS(基本输入输出系统)遵循UEFI(统一可扩展固件接口)规范实现,又称UEFI BIOS,其运行模式分为以下两种:
1、Debug模式:又称调试模式,此模式的BIOS能够通过串口等方式输出启动日志和调试信息。
2、Release模式:又称发布模式,此模式的BIOS关闭了串口输出的调试信息和日志,提高了启动速度。
在计算机系统(芯片、个人电脑、工作站、服务器等)研发过程中,BIOS启动或进行重启Reboot老化测试时会选择使用Release模式BIOS来测试,以缩短测试时间,提高测试效率。在此过程中经常会遇到宕机问题,并且有些宕机问题在同等环境中使用Debug模式BIOS时不出现,使用Release模式BIOS时才会出现。
Release模式BIOS一般是通过80端口输出到主板的数码管等载体上的post code(开机自检代码)来判断BIOS的执行阶段,当同等环境下Release模式BIOS会宕机而Debug模式BIOS不会宕机时,就无法依赖串口调试等方式来定位宕机位置。
发明内容
本发明提供的定位程序宕机位置的方法、装置、电子设备、存储介质,能够定位程序的宕机位置。
第一方面,本发明提供一种定位程序宕机位置的方法,包括:
当程序运行过程中系统发生宕机时,获取宕机时运行的当前程序模块的全局唯一标识符、所述当前程序模块的全局唯一标识符对应的入口物理地址;
读取宕机时所述系统中的指令地址寄存器所存储的指令地址寄存器的物理地址;
将所述指令地址寄存器的物理地址减去所述入口物理地址,得到第一偏移地址;
根据程序模块的全局唯一标识符和映射文件之间的对应关系,获取所述当前程序模块的全局唯一标识符对应的第一映射文件;所述第一映射文件记录有程序模块中各个函数名称和函数的偏移地址之间的对应关系;
根据所述第一映射文件,查找所述第一偏移地址对应的第一函数名称;
根据所述第一映射文件,查找所述第一函数名称对应的函数的偏移地址;
将所述第一函数名称对应的函数的偏移地址作为宕机位置,并输出。
可选地,所述当程序运行过程中系统发生宕机时,获取宕机时运行的当前程序模块的全局唯一标识符、所述当前程序模块的全局唯一标识符对应的入口物理地址的步骤之前,所述方法包括:
在所述程序的编译阶段,生成各个程序模块对应的映射文件,所述映射文件记录有每个所述程序模块中各个函数名称和函数的偏移地址之间的对应关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111598148.6/2.html,转载请声明来源钻瓜专利网。