CN113778870B - 一种蓝屏回调方法、装置、设备及计算机可读存储介质 - Google Patents
一种蓝屏回调方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113778870B CN113778870B CN202111043294.2A CN202111043294A CN113778870B CN 113778870 B CN113778870 B CN 113778870B CN 202111043294 A CN202111043294 A CN 202111043294A CN 113778870 B CN113778870 B CN 113778870B
- Authority
- CN
- China
- Prior art keywords
- blue screen
- callback
- linked list
- blue
- request instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 83
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 239000000284 extract Substances 0.000 abstract 1
- 238000009877 rendering Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种蓝屏回调方法,通过根据无盘系统在发生蓝屏时发送的回调请求指令直接驱动预设的蓝屏处理驱动,通过该蓝屏处理驱动来提取预存的蓝屏链表结构体,可以保证在蓝屏发生的第一时间驱动该蓝屏处理驱动,并在第一时间通过提取的蓝屏链表结构体对蓝屏回调链表进行刷新,从而在第一时间保证蓝屏回调链表的可用性,同时清除掉其他软件的蓝屏回调过程,使得本次蓝屏回调具有很高的稳定性,保证无盘系统准确的蓝屏回调。本发明还提供了一种蓝屏回调装置、一种蓝屏回调设备以及一种计算机可读存储介质,同样具有上述有益效果。
Description
技术领域
本发明涉及无盘系统技术领域,特别是涉及一种蓝屏回调方法、一种蓝屏回调装置、一种蓝屏回调设备以及一种计算机可读存储介质。
背景技术
随着计算机科学的发展,计算机性能也在不断提高。游戏和视频渲染剪辑是计算机的一项重要应用场景,这些游戏以及渲染剪辑软件能够渲染出逼真的画面,给玩家带来极佳的游戏体验。但同时,这些游戏和渲染剪辑软件对计算机性能的要求也普遍较高,许多玩家因为低配设备的限制,无法体验到上述游戏和软件,而要购买一台能够流畅运行上述游戏和渲染剪辑软件的计算机,将会是一笔不小的开支,所以大量玩家只能放弃。云电脑的出现,使得上述问题得到了很好的解决。
云电脑是随着网络技术和云计算技术发展而诞生出的一种新型的云端主机方式。在云电脑方式中,所有的游戏和渲染剪辑程序都在云游戏服务提供商提供的云主机上运行,云主机负责利用其高性能CPU和GPU渲染出游戏画面和视频牛内容,视频串流程序会将云主机显示的画面进行压缩,然后通过网络传输给用户。这样,用户只需要拥有一台具备基本视频解压能力的设备,就可以流畅的体验各类需要高性能硬件的游戏,也可以愉快高效地进行视频剪辑和渲染操作,当然还可以进行几乎所以电脑操作,就像本地系统一样,唯一不同的是一切都更加快速和高效。
而作为云电脑提供商,云主机由于可以被用户完全掌控,甚至可以在上面安装各种应用程序和驱动,大大增加了系统的不稳定性,也增加了系统蓝屏的概率,而由于云主机使用无盘工作,导致蓝屏后无法使用windows自带的蓝屏转储方式保留蓝屏现场的信息,但是工程师需要利用蓝屏转储信息分析出具体的蓝屏原因,以便后续系统和驱动优化,提升用户体验,提供持续的稳定的服务。
在实际的实践过程中,我们需要注册蓝屏的回调,当系统蓝屏后我们在回调中保存dump数据信息到提前申请的内存中缓存并将相关信息通过网络包发送到服务端。但是在一些情况下,系统蓝屏后并不会触发蓝屏回调,导致整个网络转储的过程失败,以至于研发难以定位到具体的蓝屏原因。而大多数蓝屏回调不触发的原因,都是由于系统的蓝屏链表被损坏或者是有在我们的驱动之后注册的蓝屏回调处理有问题,导致我们驱动的蓝屏回调不会被触发。所以如何提供一种针对无盘环境的蓝屏回调方案是本领域技术人员继续解决的问题。
发明内容
本发明的目的是提供一种蓝屏回调方法,可以保证无盘系统准确的蓝屏回调;本发明还提供了一种蓝屏回调装置、一种蓝屏回调设备以及一种计算机可读存储介质,可以保证无盘系统准确的蓝屏回调。
为解决上述技术问题,本发明提供一种蓝屏回调方法,包括:
获取无盘系统在发生蓝屏之后发送的回调请求指令;
根据所述回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体;
将所述蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新;
根据刷新后的所述蓝屏回调链表进行蓝屏信息的回调。
可选的,在所述获取无盘系统在发生蓝屏之后发送的回调请求指令之前,还包括:
将蓝屏处理驱动加载至所述无盘系统的内存;
所述根据所述回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体包括:
根据所述回调请求指令调用所述蓝屏处理驱动的驱动入口点;
在所述驱动入口点中提取预先保存的蓝屏链表结构体。
可选的,在所述获取无盘系统在发生蓝屏之后发送的回调请求指令之前,还包括:
遍历所述无盘系统中内核驱动链表,以从所述内核驱动链表查询出所述蓝屏处理驱动。
可选的,在所述遍历所述无盘系统中内核驱动链表,以从所述内核驱动链表查询出所述蓝屏处理驱动之后,还包括:
从所述蓝屏处理驱动的加载基址中解析出全局变量作为所述蓝屏链表结构体;
将所述蓝屏链表结构体保存至所述蓝屏处理驱动。
本发明还提供了一种蓝屏回调装置,包括:
指令获取模块,用于获取无盘系统在发生蓝屏之后发送的回调请求指令;
提取模块,用于根据所述回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体;
刷新模块,用于将所述蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新;
回调模块,用于根据刷新后的所述蓝屏回调链表进行蓝屏信息的回调。
可选的,还包括:
加载模块,用于将蓝屏处理驱动加载至所述无盘系统的内存;
所述提取模块包括:
调用单元,用于根据所述回调请求指令调用所述蓝屏处理驱动的驱动入口点;
提取单元,用于在所述驱动入口点中提取预先保存的蓝屏链表结构体。
可选的,还包括:
查询模块,用于遍历所述无盘系统中内核驱动链表,以从所述内核驱动链表查询出所述蓝屏处理驱动。
可选的,还包括:
解析模块,用于从所述蓝屏处理驱动的加载基址中解析出全局变量作为所述蓝屏链表结构体;
保存模块,用于将所述蓝屏链表结构体保存至所述蓝屏处理驱动。
本发明还提供了一种蓝屏回调设备,所述设备包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序时实现如上述任一项所述蓝屏回调方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述蓝屏回调方法的步骤。
本发明所提供的一种蓝屏回调方法,包括获取无盘系统在发生蓝屏之后发送的回调请求指令;根据回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体;将蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新;根据刷新后的蓝屏回调链表进行蓝屏信息的回调。
通过根据无盘系统在发生蓝屏时发送的回调请求指令直接驱动预设的蓝屏处理驱动,通过该蓝屏处理驱动来提取预存的蓝屏链表结构体,可以保证在蓝屏发生的第一时间驱动该蓝屏处理驱动,并在第一时间通过提取的蓝屏链表结构体对蓝屏回调链表进行刷新,从而在第一时间保证蓝屏回调链表的可用性,同时清除掉其他软件的蓝屏回调过程,使得本次蓝屏回调具有很高的稳定性,保证无盘系统准确的蓝屏回调。
本发明还提供了一种蓝屏回调装置、一种蓝屏回调设备以及一种计算机可读存储介质,同样具有上述有益效果,在此不再进行赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种蓝屏回调方法的流程图;
图2为本发明实施例所提供的一种具体的蓝屏回调方法的流程图;
图3为本发明实施例所提供的一种蓝屏回调装置的结构框图;
图4为本发明实施例所提供的一种蓝屏回调设备的结构框图。
具体实施方式
本发明的核心是提供一种蓝屏回调方法。在现有技术中,系统蓝屏后并不会触发蓝屏回调,导致整个网络转储的过程失败,以至于研发难以定位到具体的蓝屏原因。而大多数蓝屏回调不触发的原因,都是由于系统的蓝屏回调链表被损坏或者是有在我们的驱动之后注册的蓝屏回调处理有问题,导致我们驱动的蓝屏回调不会被触发。
而本发明所提供的一种蓝屏回调方法,包括获取无盘系统在发生蓝屏之后发送的回调请求指令;根据回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体;将蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新;根据刷新后的蓝屏回调链表进行蓝屏信息的回调。
通过根据无盘系统在发生蓝屏时发送的回调请求指令直接驱动预设的蓝屏处理驱动,通过该蓝屏处理驱动来提取预存的蓝屏链表结构体,可以保证在蓝屏发生的第一时间驱动该蓝屏处理驱动,并在第一时间通过提取的蓝屏链表结构体对蓝屏回调链表进行刷新,从而在第一时间保证蓝屏回调链表的可用性,同时清除掉其他软件的蓝屏回调过程,使得本次蓝屏回调具有很高的稳定性,保证无盘系统准确的蓝屏回调。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种蓝屏回调方法的流程图。
参见图1,在本发明实施例中,蓝屏回调方法包括:
S101:获取无盘系统在发生蓝屏之后发送的回调请求指令。
在本发明实施例中,云主机的无盘系统在蓝屏后的重启过程中,首先会发送回调请求指令以对蓝屏信息进行回调。具体的,当云主机的无盘系统启动的时候,在其C盘,即系统盘通过网络出盘的过程中,该无盘系统会主动向无盘驱动vdiskbus64.sys请求IRP_MJ_DEVICE_CONTROL类型的IOCTL_SCSI_GET_DUMP_POI-NTERS这个设备控制码,用以获取当系统蓝屏的时候,系统初始化是调用的蓝屏处理端口驱动,以最终获取蓝屏时产生的信息。上述IRP_MJ_DEVICE_CONTROL类型具体是windows系统定义的一种请求方式,而IOCTL_SCSI_GET_DUMP_POINTERS是windows系统定义的获取dump驱动的请求,即本步骤中的回调请求指令。而上述的调用请求,是由windows提供的crashdmp.sys进行请求并执行后续处理的。
而在本步骤中,具体会获取到云主机中无盘系统在蓝屏之后发送的回调请求指令,以便执行后续步骤。需要说明的是,在本步骤之前需要注册蓝屏回调,即在蓝屏回调链表中增加对应的信息,以便在后续步骤中实现蓝屏回调功能。
S102:根据回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体。
在本发明实施例中,首先会预先将本步骤所使用的蓝屏处理驱动加载至上述无盘系统的内核,以便在本步骤中对蓝屏处理驱动进行调用。
在本步骤中,具体会根据上述回调请求指令调用预先加载在无盘系统内核的蓝屏处理驱动,在调用该蓝屏处理驱动时,首先会提取出预先保存的蓝屏链表结构体,该蓝屏链表结构体可以理解为蓝屏回调链表内的具体内容,且该蓝屏链表结构体通常具体存储于蓝屏处理驱动中。通常情况下,在本发明实施例中还会存储有蓝屏链表头,以便在后续步骤中根据蓝屏链表头以及本步骤提取的蓝屏链表结构体对蓝屏回调链表进行刷新。
需要说明的是,由于在本步骤中具体是根据回调请求指令直接调用预设的蓝屏处理驱动,因此可以保证在蓝屏后的第一时间通过后续步骤对蓝屏回调链表进行修复,从而保证后续蓝屏回调的正常执行。
S103:将蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新。
在本步骤中,会将上述S102中提取的蓝屏链表结构体重新写入蓝屏链表头,以完成对蓝屏回调链表的刷新。需要说明的是,由于在本步骤中会将蓝屏链表结构体重新写入蓝屏链表头,因此会将蓝屏回调链表中之前存储的内容进行替换,即会删除掉蓝屏回调链表中原本写入的内容,此时可以去除了在保存蓝屏链表结构体之后注册的大多数回调,让整个蓝屏回调流程的稳定性得到了大大的保障。需要说明的是,结合上述S102以及S103,可以确保本发明实施例所提供的一种蓝屏回调方法会被第一个调用,其获取的一定是原始正确的数据,避免中间可能的数据篡改。
需要说明的是,上述修复后的蓝屏回调链表仅在有下述S104所要进行蓝屏信息回调所对应的信息,以保证下述S104可以准确进行蓝屏信息的回调。
S104:根据刷新后的蓝屏回调链表进行蓝屏信息的回调。
在本步骤中,会根据刷新后的蓝屏回调链表进行蓝屏信息的回调,以保证上述S103可以在蓝屏信息回调之前完成对蓝屏回调链表进行修复,从而保证本步骤蓝屏回调的正常执行。而根据蓝屏回调链表进行蓝屏信息的回调的具体内容可以参考现有技术,在此不再进行赘述。
本发明实施例所提供的一种蓝屏回调方法,包括获取无盘系统在发生蓝屏之后发送的回调请求指令;根据回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体;将蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新;根据刷新后的蓝屏回调链表进行蓝屏信息的回调。
通过根据无盘系统在发生蓝屏时发送的回调请求指令直接驱动预设的蓝屏处理驱动,通过该蓝屏处理驱动来提取预存的蓝屏链表结构体,可以保证在蓝屏发生的第一时间驱动该蓝屏处理驱动,并在第一时间通过提取的蓝屏链表结构体对蓝屏回调链表进行刷新,从而在第一时间保证蓝屏回调链表的可用性,同时清除掉其他软件的蓝屏回调过程,使得本次蓝屏回调具有很高的稳定性,保证无盘系统准确的蓝屏回调。
有关本发明实施例所提供的一种蓝屏回调方法的具体内容将在下述发明实施例中做详细介绍。
请参考图2,图2为本发明实施例所提供的一种具体的蓝屏回调方法的流程图。
参见图2,在本发明实施例中,蓝屏回调方法包括:
S201:将蓝屏处理驱动加载至无盘系统的内存。
在本步骤中,会预先将蓝屏处理驱动加载至无盘系统的内核,通常是加载至无盘系统的内存,以便后续步骤中对该蓝屏处理驱动进行调用。
具体的,由于上述回调请求指令具体是由windows提供的crashdmp.sys进行请求并执行后续处理的,当crashdmp驱动通过IOCTL_SCSI_GET_DUMP_POINTERS获取到需要加载的蓝屏时候进行蓝屏处理的端口驱动的时候,此时获取到的驱动具体是由我们的vdiskbus64驱动向系统提供的vdiskbusdump.sys驱动,即蓝屏处理驱动。上述crashdmp驱动会主动将该蓝屏处理驱动映射加载到系统内核中,具体会将该蓝屏处理驱动加载至无盘系统的内存中,以便在实际遇到蓝屏时进行调用。一般来说,只要后续不主动进行蓝屏相关设置调整,例如但不限于:分页文件设置、蓝屏文件保存目录等,在本发明实施例中上述无盘系统内用于处理蓝屏回调功能的蓝屏处理栈就已经完成了构建。
S202:遍历无盘系统中内核驱动链表,以从内核驱动链表查询出蓝屏处理驱动。
在实际情况中,在上述S201的蓝屏栈构建好之后,为了保证在蓝屏的时候本发明实施例后续的蓝屏回调能第一个被处理,实现一定被调用的需求,在本发明实施例中需要将蓝屏回调链表相关数据,即蓝屏链表结构体从vdiskbus64驱动通知到vdiskbusdump驱动,上述蓝屏链表结构体可以保证在蓝屏后能有原始数据实现蓝屏回调表数据的修复,以及清理在保存上述蓝屏链表结构体之后注册的蓝屏回调处理程序,保证蓝屏回调处理联调的简单、可达。
为了实现上述功能,在本步骤中,首先需要保证无盘系统内核中已经正常构建了上述蓝屏栈。因此在本步骤中,具体会采用遍历内核驱动链表的方式,查看能否从内核驱动链表查询出上述蓝屏处理驱动。当可以从内核驱动链表查询出上述蓝屏处理驱动时,表示在无盘系统内核中已经正常构建了上述蓝屏栈,可以继续后续流程。
具体的,在本步骤中,具体当遍历到了dump_vdiskbusdump.sys驱动的时候,可以认为无盘系统已经构建好了蓝屏栈。需要说明的是,此时遍历到的名字和上述向无盘系统注册时的名字不一样,因为crashdump驱动会在驱动名前加载dump_前缀用以表示相关的驱动是用作蓝屏时候处理逻辑的。
需要说明的是,在本步骤之前需要注册蓝屏回调,即在蓝屏回调链表中增加对应的信息,以便在后续步骤中实现对郎平回调链表刷新后,仍能实现蓝屏回调功能。
S203:从蓝屏处理驱动的加载基址中解析出全局变量作为蓝屏链表结构体。
在本步骤中可以主动获取到dump_vdiskbusdump.sys驱动的加载基址,并对其PE(Portable Executable)文件进行解析,得到g_dumpVars全局变量。在本步骤中,具体会将该全局变量作为上述蓝屏链表结构体。
S204:将蓝屏链表结构体保存至蓝屏处理驱动。
具体的,上述全局变量是dump_vdiskbusdump驱动在代码编写过程中导出的全局变量,获取到该全局变量后,我们通常会将蓝屏链表头以及全局变量,即蓝屏链表结构体进行保存,这两条数据用以在dump_vdiskbudump驱动中进行蓝屏回调链表的修复。通常情况下,在本步骤中具体是将蓝屏链表结构体以及蓝屏链表头保存至蓝屏处理驱动,从而方便调用。而以上的数据来源于我们系统API(Application Programming Interface)调用KeRegisterBugCheckReasonCallback后所返回的内部参数。上述KeRegisterBugCheckReasonCallback是前述注册蓝屏回调的系统调用函数,该函数会在注册成功后会将相关的蓝屏回调插入蓝屏回调链表中。
S205:获取无盘系统在发生蓝屏之后发送的回调请求指令。
本步骤与上述发明实施例中S101基本一致,详细内容请参考上述发明实施例,在此不再进行赘述。
S206:根据回调请求指令调用蓝屏处理驱动的驱动入口点。
由于蓝屏发生的时候,上述注册并已经加载到无盘系统中的dump_vdiskbusdump驱动,即蓝屏处理驱动将会被调用,由于之前该驱动只是被系统加载到内存,连DriverEntry调用都没有进行,因此在本步骤中具体会在此时调用该驱动的DriverEntry驱动入口点。
S207:在驱动入口点中提取预先保存的蓝屏链表结构体。
在驱动入口点中,本步骤会将g_dumpVars中的数据取出来,即将预先保存的蓝屏链表结构体取出,以便在后续步骤中对蓝屏回调链表进行修复。
S208:将蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新。
S209:根据刷新后的蓝屏回调链表进行蓝屏信息的回调。
上述S208至S209与上述发明实施例中S103至S104基本一致,详细内容请参考上述发明实施例,在此不再进行赘述。
本发明实施例所提供的一种蓝屏回调方法,可以在蓝屏的第一时间,即在回调流程未被执行的时候,实现100%的链表修复,不存在时机和概率失败的可能;同时去除了在我们之后注册的大多数回调,让整个蓝屏回调流程的稳定性得到了大大的保障;确保了我们会被第一个调用,获取的一定是原始正确的数据,避免中间可能的数据篡改。
下面对本发明实施例所提供的一种蓝屏回调装置进行介绍,下文描述的蓝屏回调装置与上文描述的蓝屏回调方法可相互对应参照。
请参考图3,图3为本发明实施例所提供的一种蓝屏回调装置的结构框图。参照图3,蓝屏回调装置可以包括:
指令获取模块100,用于获取无盘系统在发生蓝屏之后发送的回调请求指令。
提取模块200,用于根据所述回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体。
刷新模块300,用于将所述蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新。
回调模块400,用于根据刷新后的所述蓝屏回调链表进行蓝屏信息的回调。
作为优选的,在本发明实施例中,还包括:
加载模块,用于将蓝屏处理驱动加载至所述无盘系统的内存;
所述提取模块包括:
调用单元,用于根据所述回调请求指令调用所述蓝屏处理驱动的驱动入口点;
提取单元,用于在所述驱动入口点中提取预先保存的蓝屏链表结构体。
作为优选的,在本发明实施例中,还包括:
查询模块,用于遍历所述无盘系统中内核驱动链表,以从所述内核驱动链表查询出所述蓝屏处理驱动。
作为优选的,在本发明实施例中,还包括:
解析模块,用于从所述蓝屏处理驱动的加载基址中解析出全局变量作为所述蓝屏链表结构体;
保存模块,用于将所述蓝屏链表结构体保存至所述蓝屏处理驱动。
本实施例的蓝屏回调装置用于实现前述的蓝屏回调方法,因此蓝屏回调装置中的具体实施方式可见前文中的蓝屏回调方法的实施例部分,例如,指令获取模块100,提取模块200,刷新模块300,回调模块400分别用于实现上述蓝屏回调方法中步骤S101至S104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
下面对本发明实施例提供的一种蓝屏回调设备进行介绍,下文描述的蓝屏回调设备与上文描述的蓝屏回调方法以及蓝屏回调装置可相互对应参照。
请参考图4,图4为本发明实施例所提供的一种蓝屏回调设备的结构框图。
参照图4,该蓝屏回调设备可以包括处理器11和存储器12。
所述存储器12用于存储计算机程序;所述处理器11用于执行所述计算机程序时实现上述发明实施例中所述的蓝屏回调方法的具体内容。
本实施例的蓝屏回调设备中处理器11用于安装上述发明实施例中所述的蓝屏回调装置,同时处理器11与存储器12相结合可以实现上述任一发明实施例中所述的蓝屏回调方法。因此蓝屏回调设备中的具体实施方式可见前文中的蓝屏回调方法的实施例部分,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一发明实施例中所介绍的一种蓝屏回调方法。其余内容可以参照现有技术,在此不再进行展开描述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种蓝屏回调方法、一种蓝屏回调装置、一种蓝屏回调设备以及一种计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种蓝屏回调方法,其特征在于,包括:
获取无盘系统在发生蓝屏之后发送的回调请求指令;所述回调请求指令为设备控制码IOCTL_SCSI_GET_DUMP_POINTERS;
根据所述回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体以及蓝屏链表头;所述蓝屏链表结构体为蓝屏回调链表内的具体内容,且所述蓝屏链表结构体存储于蓝屏处理驱动中;
将所述蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新,同时清除掉其他软件的蓝屏回调过程;
根据刷新后的所述蓝屏回调链表进行蓝屏信息的回调;
根据所述回调请求指令调用预设的蓝屏处理驱动包括:
根据所述回调请求指令获取当系统蓝屏的时候,系统初始化时调用的蓝屏处理端口驱动。
2.根据权利要求1所述的方法,其特征在于,在所述获取无盘系统在发生蓝屏之后发送的回调请求指令之前,还包括:
将蓝屏处理驱动加载至所述无盘系统的内存;
所述根据所述回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体包括:
根据所述回调请求指令调用所述蓝屏处理驱动的驱动入口点;
在所述驱动入口点中提取预先保存的蓝屏链表结构体。
3.根据权利要求2所述的方法,其特征在于,在所述获取无盘系统在发生蓝屏之后发送的回调请求指令之前,还包括:
遍历所述无盘系统中内核驱动链表,以从所述内核驱动链表查询出所述蓝屏处理驱动。
4.根据权利要求3所述的方法,其特征在于,在所述遍历所述无盘系统中内核驱动链表,以从所述内核驱动链表查询出所述蓝屏处理驱动之后,还包括:
从所述蓝屏处理驱动的加载基址中解析出全局变量作为所述蓝屏链表结构体;
将所述蓝屏链表结构体保存至所述蓝屏处理驱动。
5.一种蓝屏回调装置,其特征在于,包括:
指令获取模块,用于获取无盘系统在发生蓝屏之后发送的回调请求指令;所述回调请求指令为设备控制码IOCTL_SCSI_GET_DUMP_POINTERS;
提取模块,用于根据所述回调请求指令调用预设的蓝屏处理驱动,提取预先保存的蓝屏链表结构体以及蓝屏链表头;所述蓝屏链表结构体为蓝屏回调链表内的具体内容,且所述蓝屏链表结构体存储于蓝屏处理驱动中;
刷新模块,用于将所述蓝屏链表结构体写入蓝屏链表头,以对蓝屏回调链表进行刷新,同时清除掉其他软件的蓝屏回调过程;
回调模块,用于根据刷新后的所述蓝屏回调链表进行蓝屏信息的回调;
所述提取模块具体用于:
根据所述回调请求指令获取当系统蓝屏的时候,系统初始化时调用的蓝屏处理端口驱动。
6.根据权利要求5所述的装置,其特征在于,还包括:
加载模块,用于将蓝屏处理驱动加载至所述无盘系统的内存;
所述提取模块包括:
调用单元,用于根据所述回调请求指令调用所述蓝屏处理驱动的驱动入口点;
提取单元,用于在所述驱动入口点中提取预先保存的蓝屏链表结构体。
7.根据权利要求6所述的装置,其特征在于,还包括:
查询模块,用于遍历所述无盘系统中内核驱动链表,以从所述内核驱动链表查询出所述蓝屏处理驱动。
8.根据权利要求7所述的装置,其特征在于,还包括:
解析模块,用于从所述蓝屏处理驱动的加载基址中解析出全局变量作为所述蓝屏链表结构体;
保存模块,用于将所述蓝屏链表结构体保存至所述蓝屏处理驱动。
9.一种蓝屏回调设备,其特征在于,所述设备包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序时实现如权利要求1至4任一项所述蓝屏回调方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述蓝屏回调方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043294.2A CN113778870B (zh) | 2021-09-07 | 2021-09-07 | 一种蓝屏回调方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111043294.2A CN113778870B (zh) | 2021-09-07 | 2021-09-07 | 一种蓝屏回调方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113778870A CN113778870A (zh) | 2021-12-10 |
CN113778870B true CN113778870B (zh) | 2024-09-17 |
Family
ID=78841534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111043294.2A Active CN113778870B (zh) | 2021-09-07 | 2021-09-07 | 一种蓝屏回调方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778870B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740028A (zh) * | 2016-03-03 | 2016-07-06 | 北京金山安全软件有限公司 | 一种访问控制方法及装置 |
CN107480033A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 虚拟机蓝屏检测方法及设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923508B (zh) * | 2009-06-12 | 2012-12-19 | 中兴通讯股份有限公司 | 一种嵌入式系统中的异常处理方法及装置 |
CN102855160B (zh) * | 2012-08-22 | 2015-04-29 | 北京奇虎科技有限公司 | 软件修复方法、装置及系统 |
CN102866930B (zh) * | 2012-08-22 | 2015-11-25 | 北京奇虎科技有限公司 | 蓝屏修复方法、装置及系统 |
US9866501B2 (en) * | 2013-12-31 | 2018-01-09 | Schneider Electric Systems Usa, Inc. | Virtual switch enabling communication between external objects and simulation objects |
CN106020866A (zh) * | 2016-05-10 | 2016-10-12 | 北京金山安全软件有限公司 | 蓝屏处理方法、装置及终端 |
CN106203069B (zh) * | 2016-06-27 | 2019-10-15 | 珠海豹趣科技有限公司 | 一种动态链接库文件的拦截方法、装置及终端设备 |
CN107463369B (zh) * | 2017-06-30 | 2020-10-16 | 北京北信源软件股份有限公司 | 一种虚拟桌面的接入设备控制方法与装置 |
US10783058B2 (en) * | 2019-02-14 | 2020-09-22 | Microsoft Technology Licensing, Llc | Extensible device driver verification |
CN111639341B (zh) * | 2020-05-29 | 2023-09-05 | 北京金山云网络技术有限公司 | 一种恶意程序的检测方法、装置、电子设备及存储介质 |
CN112965846A (zh) * | 2021-02-26 | 2021-06-15 | 张洪庆 | 避免终端设备持续蓝屏的控制方法、终端设备及可读存储介质 |
CN113256375A (zh) * | 2021-05-17 | 2021-08-13 | 杭州雾联科技有限公司 | 一种云系统串流处理方法及相关装置 |
-
2021
- 2021-09-07 CN CN202111043294.2A patent/CN113778870B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740028A (zh) * | 2016-03-03 | 2016-07-06 | 北京金山安全软件有限公司 | 一种访问控制方法及装置 |
CN107480033A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 虚拟机蓝屏检测方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113778870A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870968B (zh) | 对文件系统卷执行实时更新 | |
US10977062B2 (en) | System for starting virtual machine using mirror image file stored in units of a distributed block storage system mapped to units of a logical volume | |
CN103365696B (zh) | Bios镜像文件获取方法及装置 | |
US7512777B2 (en) | Method and system for maintaining system management BIOS | |
US9448977B2 (en) | Website blueprint generation and display algorithms to reduce perceived web-page loading time | |
US20050012753A1 (en) | Systems and methods for compositing graphics overlays without altering the primary display image and presenting them to the display on-demand | |
CN105867947A (zh) | 预置应用程序升级后的数据处理方法及装置 | |
US20090271442A1 (en) | Selectively Modifying Files of a Container File | |
CN110825419B (zh) | 一种固件刷新方法、装置及电子设备和存储介质 | |
KR20150122239A (ko) | 구조화 문서의 페이지렛의 캐싱 | |
CN110716845A (zh) | 一种Android系统的日志信息读取的方法 | |
CN111367518B (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
CN113778870B (zh) | 一种蓝屏回调方法、装置、设备及计算机可读存储介质 | |
TWI588742B (zh) | 應用程式的程式碼載入方法及應用其方法的電腦系統 | |
CN110941516B (zh) | 操作系统还原方法、装置、设备及存储介质 | |
WO2023092875A1 (zh) | 一种wsl2系统用的端口智能映射方法 | |
CN109189480B (zh) | 文件系统启动方法及装置 | |
US9367356B2 (en) | Resource access control | |
CN112579361B (zh) | 备份数据重建方法、装置、设备及存储介质 | |
CN107291501B (zh) | 一种系统快速启动方法及电子设备 | |
CN113641446A (zh) | 内存快照创建方法、装置、设备及可读存储介质 | |
CN109727183B (zh) | 一种图形渲染缓冲区压缩表的调度方法及装置 | |
CN110334065B (zh) | 一种文件处理方法和系统 | |
CN112015482A (zh) | 页面加载方法、装置及服务器 | |
CN115309315A (zh) | Wayland环境下X应用的截图方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |