CN102929761B - 一种应对崩溃性错误的系统及方法 - Google Patents
一种应对崩溃性错误的系统及方法 Download PDFInfo
- Publication number
- CN102929761B CN102929761B CN201210466453.4A CN201210466453A CN102929761B CN 102929761 B CN102929761 B CN 102929761B CN 201210466453 A CN201210466453 A CN 201210466453A CN 102929761 B CN102929761 B CN 102929761B
- Authority
- CN
- China
- Prior art keywords
- error message
- mistake
- collapsibility
- operating system
- inner nuclear
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种应对崩溃性错误的系统和方法,该系统包括内核层监控模块、用户层守护模块和GUI模块,其中:内核层监控模块运行在计算机操作系统的内核层,用于监控计算机的内核状态,在计算机操作系统发生崩溃性错误时被唤醒,并在一错误信息记录文件中记录出错信息和当时系统的运行状态;用户层守护模块常驻在计算机操作系统中,用于在计算机操作系统发生崩溃性错误时唤醒内核层监控模块并对其进行初始化;GUI模块用于将出错信息及系统运行状态读取出来进行格式化处理,通过用户界面反馈给用户。本发明还公开一种应对崩溃性错误的方法。本发明能够更为方便及可扩展地捕捉系统出错信息,适用于所有服务器及设备类系统。
Description
技术领域
本发明涉及计算机应用领域,尤其是一种应对崩溃性错误的系统及方法。
背景技术
目前的计算机操作系统,特别是嵌入式的计算机操作系统,在系统本身发生崩溃性错误,比如内存使用错误时,计算机往往无法输入命令或者磁盘往往不可用,通常的处理方式是打印死机信息到屏幕,然后整个操作系统就进入僵死状态,需要人为辅助才能重启系统,而系统重启后,关于死机的信息全部丢失,这非常不利于系统错误的排查及纠正。
为了解决当前计算机操作系统无法记录死机信息的问题,本发明提出一种应对计算机操作系统崩溃性错误的系统及方法。
发明内容
为了解决上述现有技术中存在的问题,本发明提出一种应对计算机操作系统崩溃性错误的系统及方法。
根据本发明的一方面,提出一种应对崩溃性错误的系统,该系统包括:内核层监控模块、用户层守护模块和图形用户接口GUI模块,其中:
所述内核层监控模块作为核心模块运行在计算机操作系统的内核层,用于监控计算机的内核状态,在计算机操作系统发生崩溃性错误时被唤醒,并在一错误信息记录文件中记录出错信息和当时系统的运行状态;
所述用户层守护模块作为一个守护进程常驻在计算机操作系统中,用于在计算机操作系统发生崩溃性错误时唤醒所述内核层监控模块并对其进行初始化;
所述GUI模块,用于将所述错误信息记录文件中记录的出错信息及当时系统的运行状态读取出来,并且将读出的信息进行格式化处理,形成固定的格式通过用户界面反馈给用户。
根据本发明的另一方面,提出一种应对崩溃性错误的方法,该方法包括以下步骤:
步骤S1,计算机操作系统启动,装载处于沉睡状态的内核层监控模块,以对内核状态进行监控;
步骤S2,在计算机操作系统发生崩溃性错误时,用户层守护模块唤醒所述内核层监控模块并对其进行初始化,以在一错误信息记录文件中记录出错信息和当时系统的运行状态;
步骤S3,图形用户接口GUI模块将所述错误信息记录文件中记录的出错信息及当时系统的运行状态读取出来,并且将读出的信息进行格式化处理,形成固定的格式通过用户界面反馈给用户。
采用上述技术方案,与现有技术相比,本发明能够更为方便及可扩展地捕捉信息,获得更为完整的错误信息记录,较之现有的错误信息记录,本发明获得的错误信息记录中添加了很多有用的信息比如死机信息,系统版本,系统运行时间,系统内存使用情况,系统模块状态信息,系统配置等信息,以便于计算机操作系统发生崩溃性错误时,能够及时地记录错误现场,以便于问题的定位。本发明适用于所有服务器及设备类系统,同时,本发明所提出的上述机制在需要获取其他信息的时候,可以通过简单的添加接口即可获得,具有很强的可扩展性。
附图说明
图1是本发明提出的应对崩溃性错误的系统结构图;
图2是本发明提出的应对崩溃性错误的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1是本发明提出的应对崩溃性错误的系统结构图,如图1所示,所述系统包括内核层监控模块、用户层守护模块和GUI(Graphical UserInterface,图形用户接口)模块,其中:
所述内核层监控模块作为核心模块运行在计算机操作系统的内核层,用于监控计算机的内核状态,在计算机操作系统发生崩溃性错误,如缺页错误、内存溢出、除零操作、文件系统崩溃、错误指令访问寄存器等时被唤醒,并在一错误信息记录文件中记录出错信息和当时系统的运行状态,当计算机操作系统本身发生崩溃性错误时所述内核层监控模块还在记录出错信息和当时系统的运行状态后执行重启系统的操作;
进一步地,所述内核层监控模块在计算机操作系统启动时装载;
进一步地,所述内核层监控模块在计算机操作系统发生崩溃性错误后,利用错误计数器对出错次数进行计数,并在计数之后进入沉睡状态。所述错误计数器在系统重启后清零。
其中,所述内核状态包括寄存器的存储状态、内存的使用情况、CPU占用率,内核进程状态等;
其中,所述错误信息记录文件在系统启动时就处于打开状态,以对产生的出错信息和当时系统的运行状态进行记录,在系统重启后打开另一错误信息记录文件对新产生的出错信息和当时系统的运行状态进行记录;
所述出错信息包括出错名称、出错时间、错误发生时系统的运行状态;所述系统运行状态包括进程及其数目等信息、内存使用情况、CPU信息、CPU占有率、系统运行时间、硬盘分区信息等。
其中,计算机操作系统本身发生的崩溃性错误,比如为系统自己使用的内存溢出。
所述用户层守护模块作为一个守护进程常驻在计算机操作系统中,用于在计算机操作系统发生崩溃性错误时唤醒所述内核层监控模块并对其进行初始化;
所述初始化包括初始化所述错误计数器和一个用于记录出错信息和当时系统的运行状态的缓存;
所述用户层守护模块还用于选择计算机操作系统本身发生崩溃性错误时的信息记录方式,比如选择保存所述错误信息记录文件的记忆型存储设备类型;
所述用户层守护模块还用于选择唤醒所述内核层监控模块的触发点,比如可以选择在调用崩溃性错误的进程处唤醒所述内核层监控模块,也可以选择在使用错误指令访问寄存器的时候唤醒所述内核层监控模块。
所述GUI(Graphical User Interface,图形用户接口)模块,用于将所述错误信息记录文件中记录的出错信息及当时系统的运行状态读取出来,并且将读出的信息进行格式化处理,形成固定的格式通过用户界面反馈给用户,以方便用户了解和定位崩溃性错误发生的原因并进一步寻求解决方法。所述固定的格式比如可以是加密文本文件(比如可用一些简单的异或、CRC等算法进行加密)等格式。
图2是本发明提出的应对崩溃性错误的方法流程图,如图2所示,所述方法包括以下步骤:
步骤S1,计算机操作系统启动,装载处于沉睡状态的内核层监控模块,以对内核状态进行监控;
其中,所述内核状态包括寄存器的存储状态、内存的使用情况、系统运行时间,CPU占用率,进程运行状态等。
步骤S2,在计算机操作系统发生崩溃性错误,如缺页错误、内存溢出、除零操作、文件系统崩溃、错误指令访问寄存器等时,用户层守护模块唤醒所述内核层监控模块并对其进行初始化,以在一错误信息记录文件中记录出错信息和当时系统的运行状态;
所述步骤S2进一步包括在计算机操作系统本身发生崩溃性错误时,所述内核层监控模块在记录出错信息和当时系统的运行状态后重启系统的步骤;
所述初始化包括初始化所述错误计数器和一个用于记录出错信息和当时系统的运行状态的缓存;
所述步骤S2进一步包括所述内核层监控模块在计算机操作系统发生崩溃性错误后,利用错误计数器对出错次数进行计数,并在计数之后进入沉睡状态的步骤,其中,所述错误计数器在系统重启后清零。
其中,所述错误信息记录文件在系统启动时就处于打开状态,以对产生的出错信息和当时系统的运行状态进行记录,在系统重启后打开另一个错误信息记录文件对新产生的出错信息和当时系统的运行状态进行记录;
所述出错信息包括出错名称、出错时间、错误发生时系统的运行状态;所述系统运行状态包括进程及其数目、内存使用情况、CPU占有率、系统运行时间等。
其中,计算机操作系统本身发生的崩溃性错误,比如为系统自己使用的内存溢出。
所述步骤S2进一步包括选择计算机操作系统本身发生崩溃性错误时的信息记录方式的步骤,比如选择保存所述错误信息记录文件的记忆型存储设备类型。
所述步骤S2在唤醒所述内核层监控模块之前还进一步包括选择唤醒所述内核层监控模块的触发点的步骤,比如可以选择在调用崩溃性错误的进程处唤醒所述内核层监控模块,也可以选择在使用错误指令访问寄存器的时候唤醒所述内核层监控模块。
步骤S3,GUI模块将所述错误信息记录文件中记录的出错信息及当时系统的运行状态读取出来,并且将读出的信息进行格式化处理,形成固定的格式通过用户界面反馈给用户,所述固定的格式比如可以是加密文本文件等格式。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种应对崩溃性错误的系统,其特征在于,该系统包括:内核层监控模块、用户层守护模块和图形用户接口GUI模块,其中:
所述内核层监控模块作为核心模块运行在计算机操作系统的内核层,用于监控计算机的内核状态,所述内核状态包括寄存器的存储状态、内存的使用情况、CPU占用率、内核进程状态,在计算机操作系统发生崩溃性错误时被唤醒,并在一错误信息记录文件中记录出错信息和当时系统的运行状态,所述出错信息包括出错名称、出错时间、错误发生时系统的运行状态,所述系统运行状态包括进程及其数目信息、内存使用情况、CPU信息、CPU占有率、系统运行时间、硬盘分区信息,当计算机操作系统本身发生崩溃性错误时所述内核层监控模块还在记录出错信息和当时系统的运行状态后执行重启系统的操作,其中,所述错误信息记录文件在系统启动时就处于打开状态,以对产生的出错信息和当时系统的运行状态进行记录,在系统重启后打开另一错误信息记录文件对新产生的出错信息和当时系统的运行状态进行记录;
所述用户层守护模块作为一个守护进程常驻在计算机操作系统中,用于在计算机操作系统发生崩溃性错误时唤醒所述内核层监控模块并对其进行初始化,还用于选择计算机操作系统本身发生崩溃性错误时的信息记录方式;
所述GUI模块,用于将所述错误信息记录文件中记录的出错信息及当时系统的运行状态读取出来,并且将读出的信息进行格式化处理,形成固定的格式通过用户界面反馈给用户;
其中,所述内核层监控模块在计算机操作系统启动时装载;其中,所述内核层监控模块在计算机操作系统发生崩溃性错误后,利用错误计数器对出错次数进行计数,并在计数之后进入沉睡状态;所述错误计数器在系统重启后清零;
所述初始化进一步包括初始化所述错误计数器和一个用于记录出错信息和当时系统的运行状态的缓存;
其中,所述用户层守护模块还用于选择唤醒所述内核层监控模块的触发点。
2.一种应对崩溃性错误的方法,其特征在于,该方法包括以下步骤:
步骤S1,计算机操作系统启动,装载处于沉睡状态的内核层监控模块,以对内核状态进行监控,所述内核状态包括寄存器的存储状态、内存的使用情况、CPU占用率、内核进程状态;
步骤S2,在计算机操作系统发生崩溃性错误时,用户层守护模块唤醒所述内核层监控模块并对其进行初始化,选择计算机操作系统本身发生崩溃性错误时的信息记录方式,以在一错误信息记录文件中记录出错信息和当时系统的运行状态,所述出错信息包括出错名称、出错时间、错误发生时系统的运行状态,所述系统运行状态包括进程及其数目信息、内存使用情况、CPU信息、CPU占有率、系统运行时间、硬盘分区信息,在计算机操作系统本身发生崩溃性错误时,所述内核层监控模块在记录出错信息和当时系统的运行状态后重启系统,其中,所述错误信息记录文件在系统启动时就处于打开状态,以对产生的出错信息和当时系统的运行状态进行记录,在系统重启后打开另一错误信息记录文件对新产生的出错信息和当时系统的运行状态进行记录;
步骤S3,图形用户接口GUI模块将所述错误信息记录文件中记录的出错信息及当时系统的运行状态读取出来,并且将读出的信息进行格式化处理,形成固定的格式通过用户界面反馈给用户;
其中,所述步骤S2进一步包括所述内核层监控模块在计算机操作系统发生崩溃性错误后,利用错误计数器对出错次数进行计数,并在计数之后进入沉睡状态的步骤,其中,所述错误计数器在系统重启后清零;
所述初始化包括初始化所述错误计数器和一个用于记录出错信息和当时系统的运行状态的缓存;
其中,所述步骤S2在唤醒所述内核层监控模块之前还进一步包括选择唤醒所述内核层监控模块的触发点的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210466453.4A CN102929761B (zh) | 2012-11-16 | 2012-11-16 | 一种应对崩溃性错误的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210466453.4A CN102929761B (zh) | 2012-11-16 | 2012-11-16 | 一种应对崩溃性错误的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929761A CN102929761A (zh) | 2013-02-13 |
CN102929761B true CN102929761B (zh) | 2015-10-28 |
Family
ID=47644565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210466453.4A Active CN102929761B (zh) | 2012-11-16 | 2012-11-16 | 一种应对崩溃性错误的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929761B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224861B (zh) * | 2014-06-13 | 2018-04-06 | Tcl集团股份有限公司 | 一种智能设备的死机状态处理方法及系统 |
CN105653432B (zh) * | 2015-12-22 | 2019-02-15 | 北京奇虎科技有限公司 | 一种崩溃数据的处理方法和装置 |
CN109783261B (zh) * | 2018-12-14 | 2023-06-06 | 平安科技(深圳)有限公司 | 终端应用的崩溃处理方法及装置、电子设备、存储介质 |
US11442832B2 (en) | 2020-11-24 | 2022-09-13 | Hewlett Packard Enterprise Development Lp | Managing synchronized reboot of a system |
CN114706708B (zh) * | 2022-05-24 | 2022-08-30 | 北京拓林思软件有限公司 | 一种用于Linux操作系统的故障分析方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725187A (zh) * | 2005-04-30 | 2006-01-25 | 珠海金山软件股份有限公司 | 在计算机上当软件崩溃时保存用户数据的方法及装置 |
CN101201770A (zh) * | 2006-12-15 | 2008-06-18 | 大唐移动通信设备有限公司 | 一种系统崩溃前重要信息的保存方法及系统 |
CN101719090A (zh) * | 2009-12-25 | 2010-06-02 | 珠海市君天电子科技有限公司 | 对计算机软件系统崩溃原因进行自动分析的方法 |
CN101944059A (zh) * | 2010-08-20 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 计算机软件崩溃信息的自动分析方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127099B2 (en) * | 2006-12-26 | 2012-02-28 | International Business Machines Corporation | Resource recovery using borrowed blocks of memory |
-
2012
- 2012-11-16 CN CN201210466453.4A patent/CN102929761B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725187A (zh) * | 2005-04-30 | 2006-01-25 | 珠海金山软件股份有限公司 | 在计算机上当软件崩溃时保存用户数据的方法及装置 |
CN101201770A (zh) * | 2006-12-15 | 2008-06-18 | 大唐移动通信设备有限公司 | 一种系统崩溃前重要信息的保存方法及系统 |
CN101719090A (zh) * | 2009-12-25 | 2010-06-02 | 珠海市君天电子科技有限公司 | 对计算机软件系统崩溃原因进行自动分析的方法 |
CN101944059A (zh) * | 2010-08-20 | 2011-01-12 | 北京神州泰岳软件股份有限公司 | 计算机软件崩溃信息的自动分析方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102929761A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101944874B1 (ko) | 오류 처리 방법, 관련 장치 및 컴퓨터 | |
JP6333965B2 (ja) | ウェイクロック使用を追跡する技術 | |
CN102929761B (zh) | 一种应对崩溃性错误的系统及方法 | |
WO2016054957A1 (zh) | 应用程序异常的检测方法、装置和移动终端 | |
US8490177B2 (en) | Apparatus and method for variable authentication requirements | |
CN100432949C (zh) | 在计算机上当软件崩溃时保存用户数据的方法及装置 | |
CN101582046B (zh) | 一种高可用的系统状态监控、预测以及智能管理方法 | |
CN108702421B (zh) | 用于控制应用和组件的电子设备和方法 | |
US9201601B2 (en) | Reducing required battery capacity for data backup in a storage system with multiple controllers | |
CN110413432B (zh) | 一种信息处理方法、电子设备及存储介质 | |
CN104951395A (zh) | 一种嵌入式系统调试信息处理方法及装置 | |
JP2006259869A (ja) | マルチプロセッサシステム | |
CN103823708B (zh) | 虚拟机读写请求处理的方法和装置 | |
CN104320308A (zh) | 一种服务器异常检测的方法及装置 | |
CN111522703A (zh) | 监控访问请求的方法、设备和计算机程序产品 | |
US20150121144A1 (en) | Synchronized debug information generation | |
CN114328102A (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
US8185913B1 (en) | Manageability platform in an unified system | |
CN101430658A (zh) | 异常复位信息的保存方法及装置 | |
CN103778024A (zh) | 服务器系统及其讯息处理方法 | |
CN108710475A (zh) | 增强固态硬盘低温鲁棒性的方法、装置及计算机设备 | |
US20100011100A1 (en) | Health Check System, Server Apparatus, Health Check Method, and Storage Medium | |
JP6880961B2 (ja) | 情報処理装置、およびログ記録方法 | |
US20220334906A1 (en) | Multimodal user experience degradation detection | |
CN109960638A (zh) | Bmc启动原因记录方法、系统、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |