[发明专利]一种处理方法和电子设备在审
申请号: | 202210581231.0 | 申请日: | 2022-05-26 |
公开(公告)号: | CN114936108A | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 毕志文 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/30;G06F11/34;G06F9/448 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 鲁丽美 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 方法 电子设备 | ||
1.一种处理方法,包括:
在向电子设备的内存加载第一外接设备的驱动时,获取并存储驱动入口在电子设备的内存对应的第一内存地址;
确定电子设备对所述驱动的运行过程是否发生异常;
若是,确定并存储所述驱动的当前运行进度在电子设备的内存对应的第二内存地址;
根据所述第一内存地址和所述第二内存地址,从电子设备的内存获取并存储所述驱动的相应驱动代码,得到目标驱动代码,所述目标驱动代码用于确定所发生异常的异常原因。
2.根据权利要求1所述的方法,所述在向电子设备的内存加载第一外接设备的驱动时,获取并存储驱动入口在电子设备的内存对应的第一内存地址,包括:
在加载所述第一外接设备的驱动的时刻,从电子设备的预设指针寄存器获取所存储的内存指针信息,将获取的内存指针信息对应的内存地址作为所述第一内存地址;
将所述第一内存地址存储至电子设备基板管理控制器上的存储部件。
3.根据权利要求1所述的方法,所述确定电子设备对所述驱动的运行过程是否发生异常,包括:
确定在预设时长内是否完成对所述第一外接设备的驱动的运行过程;
若否,则确定所述驱动的运行过程发生异常;
若是,则确定所述驱动的运行过程未发生异常。
4.根据权利要求2所述的方法,所述确定并存储所述驱动的当前运行进度在电子设备的内存对应的第二内存地址,包括:
在发生所述异常的时刻,从所述预设指针寄存器获取所存储的内存指针信息,将获取的内存指针信息对应的内存地址作为所述第二内存地址;
将所述第二内存地址存储至电子设备基板管理控制器上的所述存储部件。
5.根据权利要求4所述的方法,所述根据所述第一内存地址和所述第二内存地址,从电子设备的内存获取并存储所述驱动的相应驱动代码,包括:
根据所述第一内存地址和所述第二内存地址,确定目标内存区域;
获取所述第一外接设备的驱动在所述目标内存区域中的驱动代码,作为所述目标驱动代码;
将所述目标驱动代码存储至电子设备基板管理控制器上的所述存储部件。
6.根据权利要求5所述的方法,所述根据所述第一内存地址和所述第二内存地址,确定目标内存区域,包括:
确定以所述第一内存地址为起始地址以所述第二内存地址为结束地址的内存区域,作为所述目标内存区域;
或,确定以所述第一内存地址为起始地址以在所述第二内存地址基础上进行预设偏移量的偏移后所得的地址为结束地址的内存区域,作为所述目标内存区域。
7.根据权利要求5所述的方法,所述存储部件为第一次失败数据捕获FFDC,基于所述FFDC存储所述第一内存地址、所述第二内存地址和所述目标驱动代码中的至少部分信息。
8.根据权利要求1所述的方法,还包括:
在确定发生所述异常之后,向电子设备的预设处理器发送停止指令,以使所述预设处理器停止对所述第一外接设备的驱动的运行过程;
和/或,
将所述目标驱动代码输出至第二外接设备,以便所述第二外接设备将所述目标驱动代码转换为预设可读程序代码,并基于所述预设可读程序代码定位所发生异常的异常原因;
其中,所定位的异常原因包括:导致发生所述异常的外接设备的设备信息,和/或,所述目标驱动代码中导致发生所述异常的问题代码及问题类型中的至少部分信息。
9.根据权利要求8所述的方法,其中,电子设备的基板管理控制器通过预设接口获取相应的内存指针信息或驱动代码,和/或,通过所述预设接口向电子设备的所述预设处理器发送停止指令。
10.一种电子设备,包括:
存储器,用于至少存储一组计算机指令集;
控制器,用于调用并执行所述存储器中存储的所述指令集,通过执行所述指令集实现如权利要求1-9任一项所述的处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210581231.0/1.html,转载请声明来源钻瓜专利网。