一种系统故障的处理方法和装置的制造方法

文档序号:8380877阅读:259来源:国知局
一种系统故障的处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及程序测试领域,特别是涉及通过自动化测试程序对程序进行自动测试时,系统故障的处理方法及装置。
【背景技术】
[0002]在测试驱动程序时,使用的方法一般都是在一台装有Windows系统的机器上,打开Verifier,默认开启所有校验项或者指定项,在执行驱动case的过程中,遇到驱动bug,则系统会出现蓝屏,这时测试人员需要将系统蓝屏后的MEMORY.DMP保存下来,提交开发跟踪蓝屏原因。这里涉及到驱动程序、Verifier、蓝屏、MEMORY.DMP文件这几个计算机领域的术语,下面先对这几个术语进行说明,以便更好的理解本发明。
[0003]驱动程序
[0004]驱动程序即添加到操作系统中的一小块代码,其中包含有关硬件设备的信息。有了此信息,计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件,可以说没有驱动程序,计算机中的硬件就无法工作。操作系统不同,硬件的驱动程序也不同,驱动程序不正确,计算机中的硬件就无法工作。
[0005]Verifier
[0006]微软提供的驱动校验器,用来提高系统的稳定性和可靠性,可以使用此工具来解决驱动程序问题。如果存在编写错误的驱动程序,就会触发系统蓝屏。
[0007]蓝屏(BSoD)
[0008]电脑蓝屏,又叫蓝屏死机(Blue Screen of Death,缩写为:BSoD),指的是+微软Windows操作系统在无法从一个系统错误中恢复过来时所显示的屏幕图像。通常是由于工作在RingO级的内核程序出错导致的,比如内核程+序访问了不可访问的内存会立即导致BSoDo
[0009]MEMORY.DMP 文件
[0010]在上次操作系统发生错误的时候,由操作系统将当时内存(含虚拟内存)中的数据直接写到文件中去,利用MEMORY.DMP文件可确定为什么系统失败。
[0011]Windows驱动测试遭遇蓝屏后,会出现以下几种情况:
[0012]1、系统蓝屏后,重启系统,系统还能够正常重启;
[0013]2、系统由于挂载驱动(出现严重问题),重启系统不能正常启动,需要手动进入安全模式才能进入系统;
[0014]3、蓝屏后,通过安全模式也无法进入系统。
[0015]Windows蓝屏后生成MEMORY.DMP的方式根据系统不同会有区别。
[0016]Windows XP, Windows Server 2003 下 MEMORY.DMP 文件不能在蓝屏时生成,需要进Windows XP的安全模式或者是正常重启后,操作系统重启后会自动启动一个名为savedump.exe的进程收集pagefile.sys以及系统磁盘启动卷的信息文件生成MEMORY.DMP文件。
[0017]Windows Vista,Windows 7系统能够在蓝屏发生时即时生成MEMORY.DMP文件(通过设置注册表项 HKEY_L0CAL_MACHINE\SYSTEM\ControlSet001\Control\CrashControl\DedicatedDumpFile,类型REG_SZ,值指定目录文件名例如d: \MEM0RY.DMP);同时也能够支持重启后通过savedump.exe生成的MEMORY.DMP文件。
[0018]现有驱动测试方法大部分操作是人工进行,遇到驱动bug造成系统蓝屏,对于Windows XP和Windows Server 2003重启系统进入安全模式,该操作是为了系统生成MEMORY.DMP 文件,Windows Vista、Windows Server 2008、Windows7 系统不需要该操作,Windows Vista、Windows Server 2008、Windows 7 系统能够在蓝屏时生成 MEMORY.DMP 文件。利用Window PE系统盘重启系统,进入系统获取MEMORY.DMP文件。
[0019]上述系统的重启及文件的获取均需要人工进行,因而该方法需要大量的手工操作,花费相当长的时间等待系统启动,并需要操作者具备一定的操作系统知识。

【发明内容】

[0020]为了克服现有测试系统的不足,在此我们的关注点是通过驱动自动化测试程序,从而在运行过程遇到操作系统蓝屏时,如何保证自动化测试程序能自动获取系统蓝屏后的MEMORY.DMP,以实现不需人工介入的完全的软件自动化测试模拟。
[0021]本发明提出了一种程序测试的方法,其包括初始化步骤、内存转储文件获取步骤和程序结束步骤。
[0022]本发明还提出一种程序测试的装置,其包括初始化模块、内存转储文件获取模块和程序结束模块。
[0023]通过该方法,使得测试程序运行过程遇到操作系统蓝屏时,自动识别蓝屏状态,自动获取系统蓝屏后的MEMORY.DMP,完全脱离人工监控,以实现不需人工介入的完全的软件自动化测试。
[0024]本发明提出的一种系统故障的处理方法,其包括,监控虚拟机中运行的系统是否出现蓝屏;在确认系统出现蓝屏的情况下,通过外部程序结束虚拟机进程;通过预置程序配置虚拟机从外部存储装置启动操作系统,并自动搜寻系统蓝屏的内存转储文件;在找到内存转储文件后,将其备份至指定地址。
[0025]本发明还提出了一种系统故障的处理装置,其包括,用于监控虚拟机中运行的系统是否出现蓝屏的模块;用于在确认系统出现蓝屏的情况下,通过外部程序结束虚拟机进程的模块;用于通过预置程序配置虚拟机从预设存储装置启动操作系统,并搜寻系统蓝屏的内存转储文件的模块;用于在找到内存转储文件后,将其备份至指定地址的模块。
[0026]根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0027]通过本发明,在系统蓝屏时,能够自动捕获系统蓝屏后的memory信息,从而能够大大节省人工收集时间。通过本发明提出的方法,可以完全自动提取MEMORY.DMP,非常适用于进行自动化测试相关的一系列工作。
【附图说明】
[0028]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]图1为本发明实施例提供的系统故障的处理方法的流程图;
[0030]图2为本发明实施例提供的系统故障的处理方法的另一流程图;
[0031]图3为本发明实施例提供的系统故障的处理装置结构图;
[0032]图4为本发明实施例提供的内存转储文件获取模块结构图。
【具体实施方式】
[0033]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0034]本发明所提出的系统故障的处理方法包括初始化环境准备阶段、调试程序自动获取阶段和程序结束状态三个阶段,下面将参照图1和图2针对这三个阶段分别进行详细描述。
[0035]首先是初始化环境准备阶段,用于对运行环境进行初始化设置,以方便后续自动化测试程序的自动运行及内存转储文件的自动获取,具体包括如下步骤:
[0036]A、打开虚拟机,在虚拟机上运行Windows操作系统,通过vmx虚拟机配置文件选择不同的操作系统,实施时涉及系统包括Windows XP、WindowsServer 2003、Windows Vista、Windows Server 2008、Windows 7 以及各种 sp 版本。
[0037]B、通过命令行配置Verifier,设置需要开启项。
[0038]C、配置系统蓝屏后行为,具体包括如下步骤:
[0039]1、运行窗口输入control sysdm.cpl,启动系统属性窗口;
[0040]?、单击高级_>设置,打开启动和故障恢复窗口 ;
[0041]ii1、取消自动重新启动;
[0042]iv、设置写入调试信息-> 完全内存转储,通过此设置用于获取full dump即蓝屏时获取完整的蓝屏调试信息;
[0043]V、设置转储文件路径,例如使用路径d: \MEM0RY.DMP ;
[0044]v1、取消覆盖任何现有文件,这是为了保留每次蓝屏后的MEMORY.DMP。
[0045]D、若系统为 Windows XP 或 Windows Server 2003,需在执行前设置 boot, ini,启动项加参数/safe。至此我们的环境准备工作完成。
[0046]在完成环境准备工作后,下一步进入调试程序自动获取阶段,该阶段用于监控系统是否出现蓝屏,在判断系统出现蓝屏的情况下,结束虚拟机进程,然后配置虚拟机从预定存储装置,例如虚拟光盘启动,在重启虚拟机并进入系统后,自动搜索系统蓝屏的内存转储文件,并将内存转储文件保存到初始化准备阶段所指定的路径,具体包括如下步骤。
[0047]E、若驱动异常,虚拟机中的系统会出现蓝屏,通过外部程序监控虚拟机中系统的蓝屏,具体实施为周期性的截取屏幕,通过像素识别是否为蓝色来判断蓝屏。
[0048]具体
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1