2024年6月15日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.5

(22)申请日 2012.06.11

(71)申请人 北京奇虎科技有限公司;奇智软件(北京)有限公司

地址 100088 北京市西城区新街口外大街28号D座112室(德胜园区)

(72)发明人 吉艳敏 范纪鍠

(74)专利代理机构 北京市德权律师事务所

代理人 刘丽君

(51)

(10)申请公布号 CN 102768639 A

(43)申请公布日 2012.11.07

权利要求说明书 说明书 幅图

(54)发明名称

(57)摘要

本发明公开了操作系统内核级错误

操作系统内核级错误定位方法及装

定位方法及装置,当操作系统发生内核级

错误提示时,自动生成记载有提示时刻的

系统状态信息的日志文件;包括:通过操

作系统提供的接口访问所述日志文件,获

取当前的内核级错误的类型代码;根据预

置的第一对应关系,确定当前的内核级错

误的类型代码对应的待获取的错误定位相

关信息;第一对应关系为类型代码与待获

取的错误定位相关信息之间的对应关系;

从所述日志文件中提取所述待获取的错误

定位相关信息;根据提取出的错误定位相

关信息以及预置的第二对应关系,确定引

起所述内核级错误的错误源;第二对应关

系为错误定位相关信息与错误源之间的对

应关系。通过本发明,能够自动定位到引

起所述内核级错误的错误源。

法律状态

法律状态公告日

法律状态信息

专利权人的姓名或者名称、地址

的变更IPC(主分类):G06F11/36

专利号:ZL2变更事

项:专利权人变更前:北京奇虎科

技有限公司变更后:北京奇虎科技

有限公司变更事项:地址变更

2022-04-08

前:100088 北京市西城区新街口

外大街28号D座112室(德胜园

区)变更后:100088 北京市西城区

新街口外大街28号D座112室

(德胜园区)变更事项:专利权人变

更前:奇智软件(北京)有限公司变

更后:北京奇智商务咨询有限公司

法律状态

专利权人的姓名或者

名称、地址的变更

权 利 要 求 说 明 书

1.一种操作系统内核级错误定位方法,其特征在于,当操作系统发生内

通过操作系统提供的接口访问所述日志文件,获取当前的内核级错误的类

根据预置的第一对应关系,确定当前的内核级错误的类型代码对应的待获

从所述日志文件中提取所述待获取的错误定位相关信息;

根据提取出的错误定位相关信息以及预置的第二对应关系,确定引起所述

2.根据权利要求1所述的方法,其特征在于,还包括:

根据预置的第三对应关系,获取引起所述内核级错误的错误源对应的解决

根据所述解决方案执行相应的处理,以便对所述操作系统内核级错误进行

修复。

方案;所述第三对应关系为错误源与解决方案之间的对应关系;

内核级错误的错误源;所述第二对应关系为错误定位相关信息与错误源之间

对应关系。

取的错误定位相关信息;所述第一对应关系为类型代码与待获取的错误定位

关信息之间的对应关系;

型代码;

核级错误提示时,自动生成记载有提示时刻的系统状态信息的日志文件;所

方法包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述解决方案执

展现所述错误源的信息,以便对所述错误源执行处理操作,进而完成对所

或者,

对所述错误源执行处理操作,以便完成对所述操作系统内核级错误的修

4.根据权利要求1至3任一项所述的方法,其特征在于,所述待获取的

5.根据权利要求4所述的方法,其特征在于,所述从所述日志文件中提

从所述日志文件中提取符合预置条件的模块信息;

如果所述日志文件中不存在符合预置条件的模块信息,则从所述日志文件

复。

述操作系统内核级错误的修复;

行相应的处理包括:

错误定位相关信息包括状态信息符合预置条件的模块信息和/或指定的特征

息。

取所述待获取的错误定位相关信息包括:

中提取指定的特征信息。

6.根据权利要求4所述的方法,其特征在于,所述符合预置条件的模块

7.根据权利要求4所述的方法,其特征在于,所述指定的特征信息包括

8.根据权利要求1至3任一项所述的方法,其特征在于,所述预置的错

堆栈占用情况、模块列表和/或崩溃地址。

信息包括:堆栈占用量最大的模块。

误定位相关信息与错误源之间的对应关系保存在服务器端,所述根据提取出

错误定位相关信息以及预置的错误定位相关信息与错误源之间

定引起所述内核级错误的错误源包括: 的对应关系,确

将所述提取出的错误定位相关信息发送到服务器端进行查询;

根据服务器端返回的信息,确定引起所述内核级错误的错误源。

9.一种操作系统内核级错误定位装置,其特征在于,当操作系统发生内

核级错误提示时,自动生成记载有提示时刻的系统状态信息的日志文件;所

装置包括:

类型代码获取单元,用于通过操作系统提供的接口访问所述日志文件,获

第一查询单元,用于根据预置的第一对应关系,确定当前的内核级错误的

错误定位相关信息获取单元,用于从所述日志文件中提取所述待获取的错

第二查询单元,用于根据提取出的错误定位相关信息以及预置的第二对应

10.根据权利要求9所述的装置,其特征在于,还包括:

解决方案获取单元,用于根据预置的第三对应关系,获取引起所述内核级

错误的错误源对应的解决方案;所述第三对应关

对应关系;

关系,确定引起所述内核级错误的错误源;所述第二对应关系为错误定位相

信息与错误源之间的对应关系。

误定位相关信息;

类型代码对应的待获取的错误定位相关信息;所述第一对应关系为类型代码

待获取的错误定位相关信息之间的对应关系;

取当前的内核级错误的类型代码;

系为错误源与解决方案之间的

处理单元,用于根据所述解决方案执行相应的处理,以便对所述操作系统

11.根据权利要求9所述的装置,其特征在于,所述处理单元包括:

内核级错误进行修复。

展现子单元,用于展现所述错误源的信息,以便对所述错误源执行处理操

或者,

执行子单元,用于对所述错误源执行处理操作,以便完成对所述操作系统

12.根据权利要求9至11任一项所述的装置,其特征在于,所述待获取

13.根据权利要求12所述的装置,其特征在于,所述错误定位相关信息

模块提取子单元,用于从所述日志文件中提取符合预置条件的模块信息;

特征信息提取子单元,用于如果所述日志文件中不存在符合预置条件的模

14.根据权利要求12所述的方法,其特征在于,所述符合预置条件的模

块信息,则从所述日志文件中提取指定的特征信息。

获取单元包括:

内核级错误的修复。

作,进而完成对所述操作系统内核级错误的修复;

的错误定位相关信息包括状态信息符合预置条件的模块信息和/或指定的特

信息。

块信息包括:堆栈占用量最大的模块。

15.根据权利要求12所述的方法,其特征在于,所述指定的特征信息包

16.根据权利要求9至11任一项所述的装置,其特征在于,所述预置的

括堆栈占用情况、模块列表和/或崩溃地址。

错误定位相关信息与错误源之间的对应关系保存在服务器端,所述第二查询

元包括:

发送子单元,用于将所述提取出的错误定位相关信息发送到服务器端进行

确定子单元,用于根据服务器端返回的信息,确定引起所述内核级错误的

查询;

错误源。

说 明 书

技术领域

本发明涉及计算机技术领域,特别是涉及操作系统内核级错误定位方法及

背景技术

在使用计算机的过程中,时常会遭遇操作系统发生内核级错误进而死机的

现象。例如,在Windows操作系统中,将这种现象称为蓝屏死机

of Death,BSOD)。所谓蓝屏死机,是指当Windows

(由于灾难性的错误或者内部条件阻止系统继续

幕。本质上说,蓝屏死机是Windows操

内核遇到无法修复的错误时,

出错误可能的原因及

间显示之后自

非常严

装置。

((Blue Screen

操作系统崩溃或停止执行

运行下去)时所显示的蓝色屏

作系统处理错误的一种机制,当Windows

以蓝屏死机的形式展现,并在蓝屏界面简要地给

建议,它可能会长时间停留在显示屏上,也可能会在短时

动重新启动计算机。出现蓝屏,一般是windows操作系统遇到了

重的错误,影响也是非常大的。这种错误多数情况下是由于第三方软件

或者硬件上的错误导致的,例如,在第三方软件方面,如果同时安装两个或

个杀毒软件,它们就可能发生冲突,抢夺底层控制权,使系统出现蓝

在硬件方面,如果将两个不同的内存混插则系统读取数据时由

同,读取数据就会出错,从而出现蓝屏死机,等等。当

定位到具体导致蓝屏死机的原因并解决之,以避

致蓝屏死机的现象。

屏死机;

于时钟周期不

发生蓝屏死机后,需要

免以后再次由于同样的原因导

蓝屏界面信息通常是以概述的形式给出问题的原因,例如,“错误原因:

进程以过高的中断请求级别访问没有权限访问的内存”,也即,有程序使用

不正确的内存地址,但是并不会给出是哪个程序使用了不正确的内存

地址。因 此,虽然蓝屏界面信息可以帮助定位导致蓝屏死机的原因,但

信息太少,使得在绝大部分情况下,通过蓝屏界面信息,

原因。因此,对于大多数人来说,甚至是一些专

查找问题:依次卸载各个软件或重新安装

致,或

是由于蓝屏界面

并不能准确找到问题

业人员,最后都只得用排除法

Windows系统来确定是不是软件导

者,依次替换硬件来确定是否硬件导致等等。

为了便于确定导致蓝屏死机的原因,Windows操作系统提供了DUMP机制

的选项,通过在Windows系统中一些设置,使系统出现蓝屏死机时,自动

发生错误时的信息到磁盘文件(即蓝屏文件,或称DUMP文件)。

通过分析DUMP文件来定位错误原因。并且,

析DUMP文件的调试工具:Windbg。

组合可以发掘DUMP文件

堆栈等信息,

也提供

保存

这样方便日后

Microsoft还提供了可以用来分

Windbg提供了大量的命令,通过这些命令

中包含的信息,如蓝屏代码、进程、线程、加载模块、

通过对这些信息的分析,可能找到导致蓝屏的模块。另外windbg

了一个简单的命令:!analyze–v,通过该命令可以直接得到蓝屏的一

但是,通过Windbg调试工具对DUMP文件进行分析时,需要用户熟悉并且

知道如何使用Windbg提供的命令,并且在输入命令后,还需要用户能够看

Windbg返回的信息。然而Windbg调试工具返回的信息又通常都是

式存在的,因此,对于一般的用户而言,仍然无法定位导致蓝

更加无法得到解决问题的方案。

些重要信息。

以代码的形

屏死机的原因,

发明内容

本发明提供了操作系统内核级错误定位方法及装置,能够自动定位到引起

所述内核级错误的错误源。

本发明提供了如下方案:

一种操作系统内核级错误定位方法,当操作系统发生内核级错误提示时,

通过操作系统提供的接口访问所述日志文件,获取当前的内核级错误的类

根据预置的第一对应关系,确定当前的内核级错误的类型代码对应的待获

从所述日志文件中提取所述待获取的错误定位相关信息;

根据提取出的错误定位相关信息以及预置的第二对应关系,确定引起所述

可选的,还包括:

根据预置的第三对应关系,获取引起所述内核级错误的错误源对应的解决

根据所述解决方案执行相应的处理,以便对所述操作系统内核级错误进行

可选的,所述根据所述解决方案执行相应的处理包括:

修复。

方案;所述第三对应关系为错误源与解决方案之间的对应关系;

内核级错误的错误源;所述第二对应关系为错误定位相关信息与错误源之间

对应关系。

取的错误定位相关信息;所述第一对应关系为类型代码与待获取的错误定位

关信息之间的对应关系;

型代码;

自动生成记载有提示时刻的系统状态信息的日志文件;所述方法包括:

展现所述错误源的信息,以便对所述错误源执行处理操作,进而完成对所

或者,

对所述错误源执行处理操作,以便完成对所述操作系统内核级错误的修

可选的,所述待获取的错误定位相关信息包括状态信息符合预置条件的模

可选的,所述从所述日志文件中提取所述待获取的错误定位相关信息包

从所述日志文件中提取符合预置条件的模块信息;

如果所述日志文件中不存在符合预置条件的模块信息,则从所述日志文件

可选的,所述符合预置条件的模块信息包括:堆栈占用量最大的模块。

可选的,所述指定的特征信息包括堆栈占用情况、模块列表和/或崩溃地

可选的,所述预置的错误定位相关信息与错误源之间的对应关系保存在服

务器端,所述根据提取出的错误定位相关信息以及预置的错误定位相关信息

错误源之间的对应关系,确定引起所述内核级错误的错误源包括:

址。

中提取指定的特征信息。

括:

块信息和/或指定的特征信息。

复。

述操作系统内核级错误的修复;

将所述提取出的错误定位相关信息发送到服务器端进行查询;

根据服务器端返回的信息,确定引起所述内核级错误的错误源。

一种操作系统内核级错误定位装置,当操作系统发生内核级错误提示时,

类型代码获取单元,用于通过操作系统提供的接口访问所述日志文件,获

第一查询单元,用于根据预置的第一对应关系,确定当前的内核级错误的

错误定位相关信息获取单元,用于从所述日志文件中提取所述待获取的错

第二查询单元,用于根据提取出的错误定位相关信息以及预置的第二对应

可选的,还包括:

解决方案获取单元,用于根据预置的第三对应关系,获取引起所述内核级

错误的错误源对应的解决方案;所述第三对应关系为错误源与解决方案之间

对应关系;

关系,确定引起所述内核级错误的错误源;所述第二对应关系为错误定位相

信息与错误源之间的对应关系。

误定位相关信息;

类型代码对应的待获取的错误定位相关信息;所述第一对应关系为类型代码

待获取的错误定位相关信息之间的对应关系;

取当前的内核级错误的类型代码;

自动生成记载有提示时刻的系统状态信息的日志文件;所述装置包括:

处理单元,用于根据所述解决方案执行相应的处理,以便对所述操作系统

可选的,所述处理单元包括:

展现子单元,用于展现所述错误源的信息,以便对所述错误源执行处理操

或者,

执行子单元,用于对所述错误源执行处理操作,以便完成对所述操作系统

可选的,所述待获取的错误定位相关信息包括状态信息符合预置条件的模

可选的,所述错误定位相关信息获取单元包括:

模块提取子单元,用于从所述日志文件中提取符合预置条件的模块信息;

特征信息提取子单元,用于如果所述日志文件中不存在符合预置条件的模

可选的,所述符合预置条件的模块信息包括:堆栈占用量最大的模块。

可选的,所述指定的特征信息包括堆栈占用情况、模块列表和/或崩溃地

址。

块信息,则从所述日志文件中提取指定的特征信息。

块信息和/或指定的特征信息。

内核级错误的修复。

作,进而完成对所述操作系统内核级错误的修复;

内核级错误进行修复。

可选的,所述预置的错误定位相关信息与错误源之间的对应关系保存在服

发送子单元,用于将所述提取出的错误定位相关信息发送到服务器端进行

确定子单元,用于根据服务器端返回的信息,确定引起所述内核级错误的

根据本发明提供的具体实施例,本发明公开了以下技术效果:

通过本发明,在操作系统给出内核级错误提示之后,能够通过分析记载有

提示时刻系统状态信息的日志文件,自动定位到引起内核级错误的错误源,

样,就为快速修复系统的内核级错误提供了基础信息。例如,可以直

源的信息展现给用户,这样用户在明确了错误源的情况下,就

理操作来完成对错误的修复。或者,还可以自动执行修

错误源。

查询;

务器端,所述第二查询单元包括:

接将错误

可以执行一些处

复操作,等等。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施

例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅

本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造

前提下,还可以根据这些附图获得其他的附图。 性劳动的

图1是本发明实施例提供的方法的流程图;

图2是本发明实施例提供的装置的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清

楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不

全部的实施例。基于本发明中的实施例,

他实施例,都属于本发明保护的范本领域普通技术人员所获得的所有其

围。

为了便于理解本发明实施例涉及到的操作系统内核级错误的问题,首先以

NT内核的操作系统为例,对操作系统的基础架构进行简单的介绍。NT内

操作系统采用的是分层管理结构(层又称为模式),主要有用户层

和内核层(Kernel Mode)。windows操作系统中规定:

不能直接访问硬件和有限地利用内存。要访问硬

以直接访问所有硬件和内存的内核层的批

核层会出现一些错误。如果程序出

是内核模式的。如果是用户

之后继续运行可能会

可控的方式停

理问题。

核的

(User Mode)

用户层拥有较低权限,

件和利用内存,必须要经过可

准。有时由于种种原因,用户层或内

错,windows会判断该程序是用户模式的还

模式的则直接终止程序。如果是内核模式的,出错

使系统出现更加严重的错误。系统为了安全起见,会以

止,并显示出蓝屏停止码和生成内存转储文件,便于用户分析处

所以蓝屏死机是操作系统报告严重错误的一种方式,是操作系统的一

如背景技术中所述,在操作系统发生类似蓝屏死机的内核级错误时,实际

上一般情况下是由第三方软件或者硬件的错误引起的,也即,这种内核级错

存在对应的错误源,只有找到错误源并将其存在的缺陷修复,才能避

发生内核级错误。因此,本发明实施例就是从这一角度出发,

够自动定位到引起操作系统内核级错误的错误源的方法,

的方式帮助用户排除错误。

种自我保护措施。

免后续再

试图提供一种能

以便以更加方便快捷

在本发明实施例中,首先需要将操作系统设置为,当操作系统发生内核级

错误提示时,自动生成记载有提示时刻的系统状态信息的日志文件,例如,

文所述的DUMP文件等等。具体实现时,由于上述生成日志文件的

是操作系统自带的,因此,只要进行必要的设置即可实现。例

统是否设置为发出内核级错误提示时自动生成日志文件,

改注册表等方式进行设置。这样保证当系统发出

成记录有提示时刻的系统状态信息的日志

提。

功能一般都

如,可以检查系

如果没有,则通过修

内核级错误提示时,能自动生

文件,为后续的错误源定位提供前

在日志文件中,一般都会为当前的错误类型提供类型代码,这种错误代码

是由系统自动生成的,例如0x7f,等等。其中,各个

错误,从哪些信息中可以分析出来,都是可以通

说,对于经验足够丰富的人员,在得知错

日志文件中去提取哪些信息,进而

发明实施例中,为了能够通

对各个类型代码代表

定位相关信息,

信息之

代码分别对应着怎样的

过经验的积累获知的。也就是

误类型代码之后,就可以知晓应该从

分析出错误发生在哪个模块上。因此,在本

过程序自动完成对日志文件的分析工作,可以预先

的错误类型进行分析,分析出各个类型下需要提取的错误

并进行记录,保存下各个类型代码与需要获取的错误定位相关

间的关系。例如,对于代码为0x7f的错误类型而言,通过大量的分析

经验归纳总结发现,该错误大多是由某个驱动占用了过多的堆栈导致堆栈溢

引起的。因此,如果能够从日志文件中提取出蓝屏时刻各个驱动对堆

情况,其中对堆栈占用最多的就可能是引起此次蓝屏的模块。

码对应的错误类型,需要获取的错误定位相关信息就可

占用情况。其他代码也都分别进行类似的处理,

型代码与需要提取的错误定位相关信息之

用。

栈的占用

因此,针对该代

以是各个驱动对堆栈的

这样可以得到保存有错误的类

间的对应关系的列表,供后续查询使

同时,还可以预先根据经验分析,得到当模块与软件或者硬件之间的对应

关系,保存各个模块与各自对应的软件或硬件之间的对应关系,形成一个数

库,这样当根据日志文件定位到某模块时,通过查询该数据库就可以

起当前错误的错误源是哪个软件或者硬件。 得到该引

但是,在实际应用中,还可能存在以下特殊情况:系统在错误源发生错误

时刻,可能并不是马上就进行提示,也就是说,如果某软件在T1时刻发生

严重的错误,但是系统可能在T2时刻才发生蓝屏死机,以此给出提

是说,错误实际发生的时刻与系统进行错误提示的时刻可能是

一定的先后关系。然而,日志文件只能记载系统提示时

日志文件中记录的是T2时刻系统的状态。因此,

就可能无法找到目标模块。针对这种情况,

误源导致的错误而言,在发生错误

征。例如,堆栈占用情况、

经验的分析,在一个

示。也就

不同的,而是有

刻的系统状态,也即,

通过日志文件中记载的数据,

本发明实施例还发现:对于同一错

之后的系统状态信息中会存在一些相同的特

模块列表、崩溃地址等等,因此,也可以预先通过

数据库中记录下日志文件中的各种特征信息与对应的软件

或硬件之间的对应关系,同时,还可以记录下各种不同的类型代码需

特征信息。这样,针对某类型代码,在无法直接定位到发生错

下,就可以根据预先保存的类型代码与需要提取的特征

从日志文件中提取出特征信息,然后就可以根据

件/硬件之间的对应关系,定位到具体的

例如,BitDefender2012beta与某安

栈显示崩溃模块在

时的堆栈,再加上加

个崩溃的特征:

件里获

要提取的

误的模块的情况

信息之间的对应关系,

数据库中保存的特征信息与软

软件/硬件,也即成功定位到错误源。

全产品冲突导致的蓝屏,DUMP文件里堆

,但是实际是不对的,此时,可以提取崩溃

载的模块信息等等。同时,在服务器数据库里已经存有这

堆栈,两个产品的模块,版本等。这样,通过比较从DUMP文

取的信息和服务器上崩溃特征比较,如果符合,表明该崩溃是由于同时

装了这两个软件冲突导致的。需要说明的是,对于各种不同的错误类型代码

而 言,需要提取的特征信息可能是不同的,可能是堆栈占用情况、模块

溃地址中的一种或多种,当然还可能是其他的特征,等等。 列表、崩

在以上所述的基础上,参见图1,本发明实施例提供的操作系统内核级错

S101:通过操作系统提供的接口访问所述日志文件,获取当前的内核级错

在系统发出内核级错误提示并生成了日志文件的情况下,操作系统一般还

会提供访问该日志文件的接口,例如标准接口,因此,就可以通

过该接口访问该日志文件,以便从中获取所需的信息。由于已经预先保存了

误类型代码与需要提取的错误定位相关信息之间的对应关系,因此,

先从日志文件中提取出错误类型代码。

误的类型代码;

误定位方法包括以下步骤:

就可以首

S102:根据预置的第一对应关系,确定当前的内核级错误的类型代码对应

这里的错误定位相关信息可以是前文所述的符合一定条件的模块信息,例

如前文所述的,针对0x7f这一类型代码,在预先保存的代码与错误定位相

信息之间的对应关系中,该代码对应的错误定位相关信息可以是:对

用量最大的模块。因此,根据记录的该对应关系,就可以从日

个模块对各个堆栈的占用量,

错误定位相关信息。

的待获取的错误定位相关信息;所述第一对应关系为类型代码与待获取的错

定位相关信息之间的对应关系;

堆栈的占

志文件中获取各

然后从中提取出一个堆栈占用量最大的模块作为

或者,这里的错误定位相关信息也可以是前文所述的特征信息,也即与集

中提取某个符合指定条件的模块不同,还可以根据预先保存的对应关系,提

出一些分散的特征信息,例如,包括模块列表、各个模块分别对堆栈

况等等,将这些特征信息作为错误定位相关信息。 的占用情

或者,在实际应用中,还可以将上述两种方式相结合,例如,首先根据类

型代码与满足一定条件的模块之间的对应关系,从日志文件中提取符合该条

的模块,如果提取不成功,再根据类型代码与特征信息之间的对应关

志文件中提取当前的类型代码对应的特征信息作为错误定位相

系,从日

关信息。

S103:根据提取出的错误定位相关信息以及预置的第二对应关系,确定引

在提取出错误定位相关信息之后,就可以根据预先设置的错误定位相关信

息与错误源之间的对应关系定位到错误源。例如,如果错误定位相关信息是

合某条件的模块,则可以查询预先保存的模块与软件/硬件之间的对

查询到发生错误的模块所在的软件/硬件,进而就可以将对应

为错误源。如果错误定位相关信息是某些特征信息,则

征信息与软件/硬件之间的对应关系,对应的软

起所述内核级错误的错误源;所述第二对应关系为错误定位相关信息与错误

之间的对应关系。

应关系,

的软件/硬件确定

可以查询预先保存的特

件/硬件就可以确定为错误源。

总之,通过本发明实施例,在操作系统给出内核级错误的提示后,能够通

过分析记载有提示时刻系统状态信息的日志文件,自动定位到引起内核级错

的错误源,这样,就为快速修复系统的内核级错误提供了基础信息。

以直接将错误源的信息展现给用户,这样用户在明确了错误源

以执行一些处理操作来完成对错误的修复。或者,还可

例如,可

的情况下,就可

以自动执行修复操作,

等等。

在实际应用中,还可以根据分析经验,在数据库中保存模块与解决方案之

间的对应关系,或者特征信息与解决方案之间的对应关系。这样,当从日志

件中提取出满足条件的模块或者特征信息之后,不仅能够定位到对应

硬件,还可以得到相应的解决方案,然后可以根据解决方案执

以便对操作系统内核级错误

错误源的信息展现给

系统内核级错

系统内

的软件/

行相应的处理,

进行修复。具体的处理方式有多种,例如,可以将

用户,以便用户对错误源执行处理操作,进而完成对操作

误的修复;或者,直接对错误源执行处理操作,以便完成对操作

核级错误的修复。其中,关于第一种方式,一般是针对一些硬件上的错

误、需要用户手动解决的问题时采用,例如,向用户提示:错误源是内存混

则用户可以通过更换内存条等方式来修复该错误。第二种方式一般是

软件上的错误时采用,例如,如果错误原因是某驱动没有更新,

以是自动下载更新导致内核级错误的驱动,或者,将某

某驱动的运行等等。

插,

针对一些

则解决方案可

驱动卸载,或者,禁止

与本发明实施例提供的操作系统内核级错误定位方法相对应,本发明实施

例还提供了一种操作系统内核级错误定位装置,在该装置中,当操作系统发

内核级错误提示时,自动生成记载有提示时刻的系统状态信息的日志

见图2,该装置可以包括: 文件;参

类型代码获取单元201,用于通过操作系统提供的接口访问所述日志文

第一查询单元202,用于根据预置的第一对应关系,确定当前的内核级错

误的类型代码对应的待获取的错误定位相关信息;所述第一对应关系为类型

码与待获取的错误定位相关信息之间的对应关系;

件,获取当前的内核级错误的类型代码;

错误定位相关信息获取单元203,用于从所述日志文件中提取所述待获取

第二查询单元204,用于根据提取出的错误定位相关信息以及预置的第二

具体实现时,该装置还可以包括:

解决方案获取单元,用于根据预置的第三对应关系,获取引起所述内核级

处理单元,用于根据所述解决方案执行相应的处理,以便对所述操作系统

根据错误发生原因的不同,解决方案也可能会有所不同,相应的,处理单

展现子单元,用于展现所述错误源的信息,以便对所述错误源执行处理操

或者,

执行子单元,用于对所述错误源执行处理操作,以便完成对所述操作系统

内核级错误的修复。

作,进而完成对所述操作系统内核级错误的修复;

元在根据解决方案进行处理时,可以分为两大类,也即,所述处理单元具体

以包括:

内核级错误进行修复。

错误的错误源对应的解决方案;所述第三对应关系为错误源与解决方案之间

对应关系;

对应关系,确定引起所述内核级错误的错误源;所述第二对应关系为错误定

相关信息与错误源之间的对应关系。

的错误定位相关信息;

具体实现时,所述待获取的错误定位相关信息包括状态信息符合预置条件

上述两种错误定位相关信息独立使用,例如,针对某错误类型代码,可以

查询类型代码与模块信息之间的对应关系,找到符合条件的模块,然后再通

查询模块与错误源之间的对应关系,定位到引起此次内核级错误的错

即,具体到某软件/硬件。或者,针对同一错误类型代码,也

型代码与特征信息之间的对应关系,直接从日志文件中

询特征信息与错误源之间的对应关系,定位到引

当然,在实际应用中,还可以将上述两种

息获取单元203包括:

的模块信息和/或指定的特征信息。

误源,也

可以直接查询类

提取出特征信息,并查

起此次内核级错误的错误源。

方式相结合,此时,错误定位相关信

模块提取子单元,用于从所述日志文件中提取符合预置条件的模块信息;

特征信息提取子单元,用于如果所述日志文件中不存在符合预置条件的模

其中,所述符合预置条件的模块信息包括:堆栈占用量最大的模块。

所述指定的特征信息包括堆栈占用情况、模块列表和/或崩溃地址。

在实际应用中,所述预置的错误定位相关信息与错误源之间的对应关系可

发送子单元,用于将所述提取出的错误定位相关信息发送到服务器端进行

确定子单元,用于根据服务器端返回的信息,确定引起所述内核级错误的

查询;

以保存在服务器端,此时,第二查询单元204可以包括:

块信息,则从所述日志文件中提取指定的特征信息。

错误源。

总之,通过本发明实施例提供的上述装置,在操作系统给出内核级错误提

示之后,能够通过分析记载有提示时刻系统状态信息的日志文件,自动定位

引起内核级错误的错误源,这样,就为快速修复系统的内核级错误提

信息。例如,可以直接将错误源的信息展现给用户,这样用户

的情况下,就可以执行一些处理操作来完成对错误的修

执行修复操作,等等。

供了基础

在明确了错误源

复。或者,还可以自动

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相

同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的

不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实

施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件

说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可

以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到

多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实

现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况

下,即可以理解并实施。

到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理

解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软

件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如

ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可

以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者

实施例的某些部分所述的方法。

以上对本发明所提供的操作系统内核级错误定位方法及装置,进行了详细

介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上

施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对

的一般技术人员,依据本发明的思想,在具体实施方式及应用

变之处。综上所述,本说明书内容不应理解为对本发明

于本领域

范围上均会有改

的限制。