專利名稱:一種系統(tǒng)故障的處理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及程序測(cè)試領(lǐng)域,特別是涉及通過(guò)自動(dòng)化測(cè)試程序?qū)Τ绦蜻M(jìn)行自動(dòng)測(cè)試時(shí),系統(tǒng)故障的處理方法及裝置。
背景技術(shù):
在測(cè)試驅(qū)動(dòng)程序時(shí),使用的方法一般都是在一臺(tái)裝有Windows系統(tǒng)的機(jī)器上,打開(kāi)Verifier,默認(rèn)開(kāi)啟所有校驗(yàn)項(xiàng)或者指定項(xiàng),在執(zhí)行驅(qū)動(dòng)case的過(guò)程中,遇到驅(qū)動(dòng)bug,則系統(tǒng)會(huì)出現(xiàn)藍(lán)屏,這時(shí)測(cè)試人員需要將系統(tǒng)藍(lán)屏后的MEMORY. DMP保存下來(lái),提交開(kāi)發(fā)跟蹤藍(lán)屏原因。這里涉及到驅(qū)動(dòng)程序、Verifier、藍(lán)屏、MEMORY. DMP文件這幾個(gè)計(jì)算機(jī)領(lǐng)域的術(shù)語(yǔ),下面先對(duì)這幾個(gè)術(shù)語(yǔ)進(jìn)行說(shuō)明,以便更好的理解本發(fā)明。驅(qū)動(dòng)程序驅(qū)動(dòng)程序即添加到操作系統(tǒng)中的一小塊代碼,其中包含有關(guān)硬件設(shè)備的信息。有了此信息,計(jì)算機(jī)就可以與設(shè)備進(jìn)行通信。驅(qū)動(dòng)程序是硬件廠商根據(jù)操作系統(tǒng)編寫的配置文件,可以說(shuō)沒(méi)有驅(qū)動(dòng)程序,計(jì)算機(jī)中的硬件就無(wú)法工作。操作系統(tǒng)不同,硬件的驅(qū)動(dòng)程序也不同,驅(qū)動(dòng)程序不正確,計(jì)算機(jī)中的硬件就無(wú)法工作。Verifier微軟提供的驅(qū)動(dòng)校驗(yàn)器,用來(lái)提高系統(tǒng)的穩(wěn)定性和可靠性,可以使用此工具來(lái)解決驅(qū)動(dòng)程序問(wèn)題。如果存在編寫錯(cuò)誤的驅(qū)動(dòng)程序,就會(huì)觸發(fā)系統(tǒng)藍(lán)屏。藍(lán)屏(BSoD)電腦藍(lán)屏,又叫藍(lán)屏死機(jī)(Blue Screen of Death,縮寫為BSoD),指的是微軟Windows操作系統(tǒng)在無(wú)法從一個(gè)系統(tǒng)錯(cuò)誤中恢復(fù)過(guò)來(lái)時(shí)所顯示的屏幕圖像。通常是由于工作在RingO級(jí)的內(nèi)核程序出錯(cuò)導(dǎo)致的,比如內(nèi)核程序訪問(wèn)了不可訪問(wèn)的內(nèi)存會(huì)立即導(dǎo)致BSoD。MEMORY. DMP 文件在上次操作系統(tǒng)發(fā)生錯(cuò)誤的時(shí)候,由操作系統(tǒng)將當(dāng)時(shí)內(nèi)存(含虛擬內(nèi)存)中的數(shù)據(jù)直接寫到文件中去,利用MEMORY. DMP文件可確定為什么系統(tǒng)失敗。Windows驅(qū)動(dòng)測(cè)試遭遇藍(lán)屏后,會(huì)出現(xiàn)以下幾種情況I、系統(tǒng)藍(lán)屏后,重啟系統(tǒng),系統(tǒng)還能夠正常重啟;2、系統(tǒng)由于掛載驅(qū)動(dòng)(出現(xiàn)嚴(yán)重問(wèn)題),重啟系統(tǒng)不能正常啟動(dòng),需要手動(dòng)進(jìn)入安全模式才能進(jìn)入系統(tǒng);3、藍(lán)屏后,通過(guò)安全模式也無(wú)法進(jìn)入系統(tǒng)。Windows藍(lán)屏后生成MEMORY. DMP的方式根據(jù)系統(tǒng)不同會(huì)有區(qū)別。Windows XP, Windows Server 2003 下 MEMORY. DMP 文件不能在藍(lán)屏?xí)r生成,需要進(jìn)Windows XP的安全模式或者是正常重啟后,操作系統(tǒng)重啟后會(huì)自動(dòng)啟動(dòng)一個(gè)名為save dump, exe的進(jìn)程收集pagef ile. sys以及系統(tǒng)磁盤啟動(dòng)卷的信息文件生成MEMORY. DMP文件。
Windows Vista,Windows 7系統(tǒng)能夠在藍(lán)屏發(fā)生時(shí)即時(shí)生成MEMORY. DMP文件(通過(guò)設(shè)置注冊(cè)表項(xiàng) HKEY_L0CAL_MACHINE\SYSTEM\ControlSet001\Control\CrashControl\DedicatedDumpFile,類型REG_SZ,值指定目錄文件名例如d:\MEM0RY. DMP);同時(shí)也能夠支持重啟后通過(guò)savedump. exe生成的MEMORY. DMP文件。
現(xiàn)有驅(qū)動(dòng)測(cè)試方法大部分操作是人工進(jìn)行,遇到驅(qū)動(dòng)bug造成系統(tǒng)藍(lán)屏,對(duì)于Windows XP和Windows Server 2003重啟系統(tǒng)進(jìn)入安全模式,該操作是為了系統(tǒng)生成MEMORY. DMP 文件,Windows Vista、Windows Server 2008、Windows7 系統(tǒng)不需要該操作,Windows Vista、Windows Server 2008、Windows 7 系統(tǒng)能夠在藍(lán)屏?xí)r生成 MEMORY. DMP 文件。利用Window PE系統(tǒng)盤重啟系統(tǒng),進(jìn)入系統(tǒng)獲取MEMORY. DMP文件。上述系統(tǒng)的重啟及文件的獲取均需要人工進(jìn)行,因而該方法需要大量的手工操作,花費(fèi)相當(dāng)長(zhǎng)的時(shí)間等待系統(tǒng)啟動(dòng),并需要操作者具備一定的操作系統(tǒng)知識(shí)。
發(fā)明內(nèi)容
為了克服現(xiàn)有測(cè)試系統(tǒng)的不足,在此我們的關(guān)注點(diǎn)是通過(guò)驅(qū)動(dòng)自動(dòng)化測(cè)試程序,從而在運(yùn)行過(guò)程遇到操作系統(tǒng)藍(lán)屏?xí)r,如何保證自動(dòng)化測(cè)試程序能自動(dòng)獲取系統(tǒng)藍(lán)屏后的MEMORY. DMP,以實(shí)現(xiàn)不需人工介入的完全的軟件自動(dòng)化測(cè)試模擬。本發(fā)明提出了一種程序測(cè)試的方法,其包括初始化步驟、內(nèi)存轉(zhuǎn)儲(chǔ)文件獲取步驟和程序結(jié)束步驟。本發(fā)明還提出一種程序測(cè)試的裝置,其包括初始化模塊、內(nèi)存轉(zhuǎn)儲(chǔ)文件獲取模塊和程序結(jié)束模塊。通過(guò)該方法,使得測(cè)試程序運(yùn)行過(guò)程遇到操作系統(tǒng)藍(lán)屏?xí)r,自動(dòng)識(shí)別藍(lán)屏狀態(tài),自動(dòng)獲取系統(tǒng)藍(lán)屏后的MEMORY. DMP,完全脫離人工監(jiān)控,以實(shí)現(xiàn)不需人工介入的完全的軟件自動(dòng)化測(cè)試。本發(fā)明提出的一種系統(tǒng)故障的處理方法,其包括,監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏;在確認(rèn)系統(tǒng)出現(xiàn)藍(lán)屏的情況下,通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程;通過(guò)預(yù)置程序配置虛擬機(jī)從外部存儲(chǔ)裝置啟動(dòng)操作系統(tǒng),并自動(dòng)搜尋系統(tǒng)藍(lán)屏的內(nèi)存轉(zhuǎn)儲(chǔ)文件;在找到內(nèi)存轉(zhuǎn)儲(chǔ)文件后,將其備份至指定地址。本發(fā)明還提出了一種系統(tǒng)故障的處理裝置,其包括,用于監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏的模塊;用于在確認(rèn)系統(tǒng)出現(xiàn)藍(lán)屏的情況下,通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程的模塊;用于通過(guò)預(yù)置程序配置虛擬機(jī)從預(yù)設(shè)存儲(chǔ)裝置啟動(dòng)操作系統(tǒng),并搜尋系統(tǒng)藍(lán)屏的內(nèi)存轉(zhuǎn)儲(chǔ)文件的模塊;用于在找到內(nèi)存轉(zhuǎn)儲(chǔ)文件后,將其備份至指定地址的模塊。根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開(kāi)了以下技術(shù)效果通過(guò)本發(fā)明,在系統(tǒng)藍(lán)屏?xí)r,能夠自動(dòng)捕獲系統(tǒng)藍(lán)屏后的memory信息,從而能夠大大節(jié)省人工收集時(shí)間。通過(guò)本發(fā)明提出的方法,可以完全自動(dòng)提取MEMORY. DMP,非常適用于進(jìn)行自動(dòng)化測(cè)試相關(guān)的一系列工作。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例提供的系統(tǒng)故障的處理方法的流程圖;圖2為本發(fā)明實(shí)施例提供的系統(tǒng)故障的處理方法的另一流程圖;圖3為本發(fā)明實(shí)施例提供的系統(tǒng)故障的處理裝置結(jié)構(gòu)圖;
圖4為本發(fā)明實(shí)施例提供的內(nèi)存轉(zhuǎn)儲(chǔ)文件獲取模塊結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明所提出的系統(tǒng)故障的處理方法包括初始化環(huán)境準(zhǔn)備階段、調(diào)試程序自動(dòng)獲取階段和程序結(jié)束狀態(tài)三個(gè)階段,下面將參照?qǐng)DI和圖2針對(duì)這三個(gè)階段分別進(jìn)行詳細(xì)描述。首先是初始化環(huán)境準(zhǔn)備階段,用于對(duì)運(yùn)行環(huán)境進(jìn)行初始化設(shè)置,以方便后續(xù)自動(dòng)化測(cè)試程序的自動(dòng)運(yùn)行及內(nèi)存轉(zhuǎn)儲(chǔ)文件的自動(dòng)獲取,具體包括如下步驟A、打開(kāi)虛擬機(jī),在虛擬機(jī)上運(yùn)行Windows操作系統(tǒng),通過(guò)vmx虛擬機(jī)配置文件選擇不同的操作系統(tǒng),實(shí)施時(shí)涉及系統(tǒng)包括Windows XP、Windows Server 2003、WindowsVista、Windows Server 2008、Windows 7 以及各種 sp 版本。B、通過(guò)命令行配置Verifier,設(shè)置需要開(kāi)啟項(xiàng)。C、配置系統(tǒng)藍(lán)屏后行為,具體包括如下步驟i、運(yùn)行窗口輸入control sysdm. cpl,啟動(dòng)系統(tǒng)屬性窗口;ii、單擊高級(jí)- >設(shè)置,打開(kāi)啟動(dòng)和故障恢復(fù)窗口 ;iii、取消自動(dòng)重新啟動(dòng);iv、設(shè)置寫入調(diào)試信息->完全內(nèi)存轉(zhuǎn)儲(chǔ),通過(guò)此設(shè)置用于獲取full dump即藍(lán)屏?xí)r獲取完整的藍(lán)屏調(diào)試信息;V、設(shè)置轉(zhuǎn)儲(chǔ)文件路徑,例如使用路徑d: \MEM0RY. DMP ;vi、取消覆蓋任何現(xiàn)有文件,這是為了保留每次藍(lán)屏后的MEMORY. DMP。D、若系統(tǒng)為 Windows XP 或 Windows Server 2003,需在執(zhí)行前設(shè)置 boot, ini,啟動(dòng)項(xiàng)加參數(shù)/safe。至此我們的環(huán)境準(zhǔn)備工作完成。在完成環(huán)境準(zhǔn)備工作后,下一步進(jìn)入調(diào)試程序自動(dòng)獲取階段,該階段用于監(jiān)控系統(tǒng)是否出現(xiàn)藍(lán)屏,在判斷系統(tǒng)出現(xiàn)藍(lán)屏的情況下,結(jié)束虛擬機(jī)進(jìn)程,然后配置虛擬機(jī)從預(yù)定存儲(chǔ)裝置,例如虛擬光盤啟動(dòng),在重啟虛擬機(jī)并進(jìn)入系統(tǒng)后,自動(dòng)搜索系統(tǒng)藍(lán)屏的內(nèi)存轉(zhuǎn)儲(chǔ)文件,并將內(nèi)存轉(zhuǎn)儲(chǔ)文件保存到初始化準(zhǔn)備階段所指定的路徑,具體包括如下步驟。E、若驅(qū)動(dòng)異常,虛擬機(jī)中的系統(tǒng)會(huì)出現(xiàn)藍(lán)屏,通過(guò)外部程序監(jiān)控虛擬機(jī)中系統(tǒng)的藍(lán)屏,具體實(shí)施為周期性的截取屏幕,通過(guò)像素識(shí)別是否為藍(lán)色來(lái)判斷藍(lán)屏。具體操作為通過(guò)Windows API的printwindow實(shí)現(xiàn)后臺(tái)截圖的方式捕獲對(duì)應(yīng)虛擬機(jī)的屏幕特性,Windows系統(tǒng)藍(lán)屏后的屏幕尺寸會(huì)固定在某一尺寸,例如640*480,同時(shí)屏幕上像素顏色只會(huì)存在白色和藍(lán)色兩種,具體的是RGB色的(O,O,O)和(O,O,131)兩種顏色,只要能夠在足夠的時(shí)間片內(nèi)保持圖片不變,同時(shí),此圖片中只有上述白藍(lán)兩種顏色,即可鑒別是系統(tǒng)藍(lán)屏狀態(tài)。在上述屏幕截取的頻率過(guò)高和截圖的尺寸過(guò)大均會(huì)影響程序的性能,因此,可以根據(jù)實(shí)際情況選擇合適的屏幕截取頻率和截圖尺寸,以提高性能。F、若系統(tǒng)為Windows XP或Windows Server 2003,通過(guò)外部程序控制重啟虛擬機(jī)中系統(tǒng),圖2給出了這種情況下的流程圖。由于初始化時(shí)已經(jīng)預(yù)設(shè)了以安全模式重啟,因此系統(tǒng)將進(jìn)入安全模式,在此過(guò)程中生成了所需的MEMORY. DMP文件;而對(duì)于Windows Vista、Windows Server 2008、Windows 7系統(tǒng)來(lái)說(shuō)無(wú)需進(jìn)行此重啟操作,這些系統(tǒng)在出現(xiàn)藍(lán)屏?xí)r就生成了所需的MEMORY. DMP文件,圖I所示的流程圖對(duì)應(yīng)于這種情況。G、外部程序kill虛擬機(jī)進(jìn)程來(lái)強(qiáng)制關(guān)閉虛擬機(jī),通過(guò)預(yù)置程序修改虛擬機(jī)配置文件,例如Windows XP Professional, vmx,來(lái)配置虛擬機(jī)從虛擬光盤啟動(dòng),虛擬光盤中可以是Windows PE系統(tǒng),也可以是能夠進(jìn)系統(tǒng)自動(dòng)執(zhí)行指定程序的其他各種系統(tǒng)。重啟虛擬機(jī),虛擬機(jī)進(jìn)入Windows PE系統(tǒng),通過(guò)外部程序自動(dòng)搜尋系統(tǒng)藍(lán)屏的MEMORY. DMP文件,找到后,通過(guò)網(wǎng)絡(luò)或本地備份到指定地址。同時(shí)通知外部程序?qū)⑦\(yùn)行的虛擬機(jī)結(jié)束掉。H、其中Windows PE系統(tǒng)的iso鏡像需要進(jìn)行特殊處理,通過(guò)替換掉操作系統(tǒng)中注冊(cè)表實(shí)現(xiàn)開(kāi)機(jī)后WinPE系統(tǒng)自動(dòng)啟動(dòng)我們指定的拷貝MEMORY. DMP文件功能,具體方法描述如下i、使用 UltraISO 打開(kāi) winPE. iso。ii、提取文件minipe\winpe. is_文件,此文件是一個(gè)· cab壓縮包,重命名winpe.is_為winpe. is_. cab,使用WinRAR之類的壓縮軟件解壓,獲得WinPE. ISO,同樣解壓WinPE. ISO。iii、通過(guò)計(jì)算機(jī)regedit. exe加載software文件,重定義“ I”節(jié)點(diǎn),這時(shí)我們就能看到software文件中的內(nèi)容,這個(gè)文件就是一個(gè)hive文件及WinPE系統(tǒng)的注冊(cè)表,修改HKEY_LOCAL_MACHINE\l\Microsoft\ffindows\CurrentVersion\Run,添加自定義的啟動(dòng)運(yùn)行項(xiàng)d: \auto. bat,即實(shí)現(xiàn)WinPE系統(tǒng)啟動(dòng)后自動(dòng)啟動(dòng)d: \auto. bat的功能。iv、保存新的software文件重新打包winpe. iso,同時(shí)將新的winpe. iso通過(guò)makecab命令打包成winpe. iso. cab,重命名為winpe. is_,替換掉步驟ii中同名文件,新的WinPE系統(tǒng)制作完成。在完成上述自動(dòng)化測(cè)試執(zhí)行階段,最后進(jìn)入程序結(jié)束狀態(tài)。在該階段,外部程序關(guān)閉虛擬機(jī)。由于上述自動(dòng)化測(cè)試程序應(yīng)用于多種系統(tǒng),包括Windows XP> Windows Server 2003、Windows Vista、Windows Server2008> Windows 7 以及各種sp版本,每種系統(tǒng)的藍(lán)屏能夠通過(guò)這一自動(dòng)化測(cè)試方法一次運(yùn)行完同時(shí)統(tǒng)計(jì)藍(lán)屏bug,通過(guò)這一方法備份藍(lán)屏后的MEMORY. DMP文件將能夠用于之后的bug跟蹤以及重現(xiàn)。本發(fā)明可以保證自動(dòng)化測(cè)試程序在模擬Windows下的真實(shí)用戶行為由于某種原 因(程序或者驅(qū)動(dòng)兼容性問(wèn)題)導(dǎo)致系統(tǒng)藍(lán)屏?xí)r,能夠自動(dòng)捕獲系統(tǒng)藍(lán)屏后的memory信息,從而能夠大大節(jié)省人工收集時(shí)間。當(dāng)驅(qū)動(dòng)級(jí)別的bug造成的系統(tǒng)藍(lán)屏如果是硬件原因造成的,將無(wú)法進(jìn)行系統(tǒng)重啟,無(wú)法獲取MEMORY. DMP,通過(guò)本發(fā)明提出的方法,可以完全自動(dòng)提取MEMORY. DMP,非常適用于進(jìn)行自動(dòng)化測(cè)試相關(guān)的一系列工作。
同時(shí)這一測(cè)試方法也能夠適用于任何的自動(dòng)化執(zhí)行的部署中,通過(guò)配置,指定相關(guān)的測(cè)試程序在對(duì)應(yīng)的虛擬機(jī)系統(tǒng)中執(zhí)行,如果期間遭遇藍(lán)屏等問(wèn)題,本發(fā)明的測(cè)試方法,能夠立即捕獲到,同時(shí)收集下來(lái)當(dāng)時(shí)的MEMORY. DMP已經(jīng)藍(lán)屏?xí)r的屏幕圖片。后續(xù)自動(dòng)化的測(cè)試工作也不會(huì)因?yàn)樗{(lán)屏問(wèn)題阻塞。本發(fā)明還提供了一種系統(tǒng)故障的處理裝置,如圖3所示。該裝置包括初始化模塊10、內(nèi)存轉(zhuǎn)儲(chǔ)文件獲取模塊20以及程序結(jié)束模塊30。其中,初始化裝置,用于對(duì)運(yùn)行環(huán)境進(jìn)行初始化設(shè)置,以方便后續(xù)自動(dòng)化測(cè)試程序的自動(dòng)運(yùn)行及內(nèi)存轉(zhuǎn)儲(chǔ)文件的自動(dòng)獲取。參見(jiàn)圖4,內(nèi)存轉(zhuǎn)儲(chǔ)文件模塊包括用于監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏的模塊22 ;用于在確認(rèn)系統(tǒng)出現(xiàn)藍(lán)屏的情況下,通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程的模塊24 ;用于通過(guò)預(yù)置程序配置虛擬機(jī)從預(yù)設(shè)存儲(chǔ)裝置啟動(dòng)操作系統(tǒng),并搜尋系統(tǒng)藍(lán)屏的內(nèi)存轉(zhuǎn)儲(chǔ)文件的模塊26 ;用于在找到內(nèi)存轉(zhuǎn)儲(chǔ)文件后,將其備份至指定地址的模塊28。結(jié)束裝置,用于結(jié)束虛擬機(jī)。相關(guān)驅(qū)動(dòng)文件的自動(dòng)化測(cè)試極大的縮短了驅(qū)動(dòng)測(cè)試的測(cè)試&回歸時(shí)間,同時(shí)也非常適用于進(jìn)行無(wú)人值守的自動(dòng)化測(cè)試監(jiān)控流程。通過(guò)這一方法能夠保證系統(tǒng)運(yùn)行過(guò)程中藍(lán)屏的實(shí)時(shí)捕獲,在實(shí)際應(yīng)用中,能夠?qū)⒋朔椒☉?yīng)用于在服務(wù)器中,實(shí)現(xiàn)多系統(tǒng)并行執(zhí)行,在最短的時(shí)間內(nèi)執(zhí)行完指定的各種操作系統(tǒng)的自動(dòng)化執(zhí)行用例,實(shí)現(xiàn)快速的自動(dòng)化回歸過(guò)程。同時(shí)每種系統(tǒng)的單獨(dú)藍(lán)屏行為都會(huì)被記錄下來(lái),提供給開(kāi)發(fā)分析錯(cuò)誤原因。通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件和必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備 (可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。以上對(duì)本發(fā)明所提供的系統(tǒng)故障的處理方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種系統(tǒng)故障的處理方法,其包括如下步驟, 監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏; 在確認(rèn)系統(tǒng)出現(xiàn)藍(lán)屏的情況下,通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程; 通過(guò)預(yù)置程序配置虛擬機(jī)從預(yù)設(shè)存儲(chǔ)裝置啟動(dòng)操作系統(tǒng),并搜尋系統(tǒng)藍(lán)屏的內(nèi)存轉(zhuǎn)儲(chǔ)文件; 在找到內(nèi)存轉(zhuǎn)儲(chǔ)文件后,將其備份至指定地址。
2.根據(jù)權(quán)利要求I所述的方法,其特征在干, 在通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程之前,重啟虛擬機(jī)中的系統(tǒng)。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在干, 所述監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏的步驟包括周期性的截取屏幕,通過(guò)對(duì)截取圖像進(jìn)行像素識(shí)別來(lái)判斷是否為藍(lán)屏。
4.根據(jù)權(quán)利要求I或2所述的方法,其特征在干, 所述配置虛擬機(jī)從預(yù)設(shè)存儲(chǔ)裝置啟動(dòng)操作系統(tǒng)為通過(guò)修改注冊(cè)表的方式來(lái)實(shí)現(xiàn)。
5.根據(jù)權(quán)利要求I或2所述的方法,其特征在干, 所述方法用于程序的測(cè)試。
6.一種系統(tǒng)故障的處理裝置,其包括, 用于監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏的模塊; 用于在確認(rèn)系統(tǒng)出現(xiàn)藍(lán)屏的情況下,通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程的模塊; 用于通過(guò)預(yù)置程序配置虛擬機(jī)從預(yù)設(shè)存儲(chǔ)裝置啟動(dòng)操作系統(tǒng),并搜尋系統(tǒng)藍(lán)屏的內(nèi)存轉(zhuǎn)儲(chǔ)文件的模塊; 用于在找到內(nèi)存轉(zhuǎn)儲(chǔ)文件后,將其備份至指定地址的模塊。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于還包括, 用于在通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程之前,重啟虛擬機(jī)中系統(tǒng)的模塊。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在干, 所述用于監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏的模塊還包括用于周期性的截取屏幕,通過(guò)對(duì)截取圖像進(jìn)行像素識(shí)別來(lái)判斷是否為藍(lán)屏的模塊。
9.根據(jù)權(quán)利要求6或7所述的裝置,其特征在干, 所述配置虛擬機(jī)從預(yù)設(shè)存儲(chǔ)裝置啟動(dòng)操作系統(tǒng)為通過(guò)修改注冊(cè)表的方式來(lái)實(shí)現(xiàn)。
10.根據(jù)權(quán)利要求6或7所述的裝置,其特征在干, 所述裝置用于程序的測(cè)試。
11.ー種程序測(cè)試方法,其包括如下步驟, 初始化步驟,用于對(duì)運(yùn)行環(huán)境執(zhí)行初始化設(shè)置; 內(nèi)存轉(zhuǎn)儲(chǔ)文件獲取步驟,用于執(zhí)行權(quán)利要求I至4中之一所述的方法; 程序結(jié)束步驟,用于關(guān)閉虛擬機(jī)。
12.—種程序測(cè)試裝置,其包括 初始化模塊,用于對(duì)運(yùn)行環(huán)境執(zhí)行初始化設(shè)置; 內(nèi)存轉(zhuǎn)儲(chǔ)文件獲取模塊,其包括權(quán)利要求6至9中之一所述的裝置; 程序結(jié)束模塊,用于關(guān)閉虛擬機(jī)。
全文摘要
本發(fā)明公開(kāi)了一種系統(tǒng)故障的處理方法,其包括,監(jiān)控虛擬機(jī)中運(yùn)行的系統(tǒng)是否出現(xiàn)藍(lán)屏,在確認(rèn)系統(tǒng)出現(xiàn)藍(lán)屏的情況下,通過(guò)外部程序結(jié)束虛擬機(jī)進(jìn)程,通過(guò)預(yù)置程序配置虛擬機(jī)從外部存儲(chǔ)裝置啟動(dòng)操作系統(tǒng),并自動(dòng)搜尋系統(tǒng)藍(lán)屏的內(nèi)存轉(zhuǎn)儲(chǔ)文件,在找到內(nèi)存轉(zhuǎn)儲(chǔ)文件后,將其備份至指定地址。將該方法用于程序的測(cè)試,通過(guò)該方法能夠?qū)崿F(xiàn)驅(qū)動(dòng)和程序的自動(dòng)化測(cè)試,有效提高測(cè)試的效率。
文檔編號(hào)G06F11/36GK102637144SQ20121009306
公開(kāi)日2012年8月15日 申請(qǐng)日期2012年3月31日 優(yōu)先權(quán)日2012年3月31日
發(fā)明者張 杰 申請(qǐng)人:奇智軟件(北京)有限公司