一種軟件故障的定位方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種軟件故障的定位方法及裝置,方法包括:確定定位開始時(shí)刻;獲得定位開始時(shí)刻的系統(tǒng)環(huán)境;在所述定位開始時(shí)刻的系統(tǒng)環(huán)境中,重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài);根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題。裝置包括:確定模塊、獲得模塊、重現(xiàn)模塊和分析模塊。本發(fā)明提供的方案,可以實(shí)現(xiàn)軟件故障的自動(dòng)定位,幫助用戶意識(shí)到操作問(wèn)題,幫助軟件研發(fā)人員獲得軟件設(shè)計(jì)的缺陷。
【專利說(shuō)明】一種軟件故障的定位方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種軟件故障的定位方法和裝置。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,當(dāng)計(jì)算機(jī)中運(yùn)行的軟件發(fā)生故障時(shí),只能等待軟件自行恢復(fù)或者強(qiáng)行停止軟件運(yùn)行。用戶并沒(méi)有任何一種途徑確定軟件故障的發(fā)生原因,比如到底是自己的操作問(wèn)題,還是軟件本身的問(wèn)題。如果是用戶的操作問(wèn)題導(dǎo)致的軟件故障,而且用戶并沒(méi)有認(rèn)識(shí)到,那么下一次用戶的同樣操作仍然會(huì)導(dǎo)致軟件故障。即便用戶求助于軟件的研發(fā)人員,研發(fā)人員也無(wú)法定位導(dǎo)致故障的原因。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種軟件故障的定位方法和裝置。
[0004]為達(dá)到上述目的,一方面,本發(fā)明提供了一種軟件故障的定位方法,包括:
[0005]確定定位開始時(shí)刻;
[0006]獲得定位開始時(shí)刻的系統(tǒng)環(huán)境;
[0007]在所述定位開始時(shí)刻的系統(tǒng)環(huán)境中,重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài);
[0008]根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題。
[0009]另一方面,本發(fā)明提供了一種軟件故障的定位裝置,包括:
[0010]確定模塊,用于確定定位開始時(shí)刻;
[0011]獲得模塊,用于獲得定位開始時(shí)刻的系統(tǒng)環(huán)境;
[0012]重現(xiàn)模塊,用于在所述定位開始時(shí)刻的系統(tǒng)環(huán)境中,重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài);
[0013]分析模塊,用于根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題。
[0014]本發(fā)明提供的方案,可以實(shí)現(xiàn)軟件故障的自動(dòng)定位,幫助用戶意識(shí)到操作問(wèn)題,幫助軟件研發(fā)人員獲得軟件設(shè)計(jì)的缺陷。
【專利附圖】
【附圖說(shuō)明】
[0015]通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0016]圖1為本發(fā)明實(shí)施例一提供的軟件故障的定位方法流程圖;
[0017]圖2為本發(fā)明實(shí)施例二提供的軟件故障的定位裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0018]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例作詳細(xì)描述。[0019]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0020]在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。在本發(fā)明的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說(shuō)明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。
[0021]流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0022]圖1為本發(fā)明實(shí)施例一提供的軟件故障的定位方法流程圖,如圖1所示,該方法包括:
[0023]101、確定定位開始時(shí)刻;
[0024]102、獲得定位開始時(shí)刻的系統(tǒng)環(huán)境;
[0025]103、在所述定位開始時(shí)刻的系統(tǒng)環(huán)境中,重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài);
[0026]104、根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題。
[0027]對(duì)于上述101中提到的確定定位開始時(shí)刻需要說(shuō)明的是,定位開始時(shí)刻與軟件的開始運(yùn)行時(shí)刻并不是相同的概念。本發(fā)明提供了這樣一種確定定位開始時(shí)刻的方法:
[0028]將軟件出現(xiàn)故障的本次運(yùn)行,在時(shí)間上切分為多個(gè)時(shí)間切片;
[0029]選擇第i個(gè)時(shí)間切片的開始時(shí)刻作為定位開始時(shí)刻,所述i為常數(shù)。
[0030]也就是說(shuō),將軟件的開始運(yùn)行時(shí)刻到軟件的故障發(fā)生時(shí)刻,作為軟件正常的運(yùn)行時(shí)間T,那么將T切分為多個(gè)時(shí)間切片,可以等分,也可以不等分,不做限定。選擇第i個(gè)時(shí)間切片的開始時(shí)刻作為定位開始時(shí)刻,其中的i為常數(shù)。這里的常數(shù)i通常從距離故障發(fā)生時(shí)刻最近的時(shí)間切片開始選擇。這種選擇方式是為了在103中的重現(xiàn)過(guò)程盡可能短,避免對(duì)用戶系統(tǒng)性能的過(guò)多影響。
[0031]在軟件正常的運(yùn)行時(shí)間T內(nèi),可以不斷的保存時(shí)間點(diǎn)與系統(tǒng)環(huán)境之間的關(guān)系,這樣102中就可以根據(jù)定位開始時(shí)刻來(lái)獲得系統(tǒng)環(huán)境。
[0032]103中重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài),具體包括:根據(jù)已記錄的從定位開始時(shí)刻到故障發(fā)生時(shí)刻的鼠標(biāo)點(diǎn)擊事件,重現(xiàn)從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)。
[0033]進(jìn)一步的,在重現(xiàn)從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)之前,將已記錄的鼠標(biāo)點(diǎn)擊事件中的無(wú)效點(diǎn)擊事件進(jìn)行刪除,獲得有效點(diǎn)擊事件。這樣可以進(jìn)一步提高103中的重現(xiàn)效率。
[0034]還需要說(shuō)明的是,根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題,包括:
[0035]如果重現(xiàn)的運(yùn)行狀態(tài)與故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)不符,則重新確定定位開始時(shí)刻;
[0036]如果重現(xiàn)的運(yùn)行狀態(tài)與故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)相符,則分析上述所有的有效點(diǎn)擊事件,確定軟件的執(zhí)行邏輯,進(jìn)而定位軟件故障的發(fā)生原因。
[0037]本發(fā)明提供的軟件故障的定位方法,通過(guò)重現(xiàn)故障發(fā)生之前一段時(shí)間內(nèi)的軟件運(yùn)行狀態(tài)來(lái)實(shí)現(xiàn)軟件故障的自動(dòng)定位,不需要占用太多的資源,幫助用戶意識(shí)到操作問(wèn)題,幫助軟件研發(fā)人員獲得軟件設(shè)計(jì)的缺陷。
[0038]還需要說(shuō)明的是,本發(fā)明提供的方法可以實(shí)施為計(jì)算機(jī)程序軟件,例如根據(jù)本發(fā)明的實(shí)施例可以是一種計(jì)算機(jī)程序產(chǎn)品,運(yùn)行該程序產(chǎn)品使計(jì)算機(jī)執(zhí)行用于所示范的方法。所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該介質(zhì)上包含計(jì)算機(jī)程序邏輯或代碼部分,用于實(shí)現(xiàn)所述移動(dòng)終端的消息的內(nèi)容的處理方法。所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是被安裝在計(jì)算機(jī)中的內(nèi)置介質(zhì)或者可從計(jì)算機(jī)主體拆卸的可移動(dòng)介質(zhì)(例如熱拔插技術(shù)存儲(chǔ)設(shè)備)。所述內(nèi)置介質(zhì)包括但不限于可重寫的非易失性存儲(chǔ)器,例如RAM、ROM、快閃存儲(chǔ)器和硬盤。所述可移動(dòng)介質(zhì)包括但不限于:光存儲(chǔ)媒體(例如⑶-ROM和DVD)、磁光存儲(chǔ)媒體(例如MO)、磁存儲(chǔ)媒體(例如盒帶或移動(dòng)硬盤)、具有內(nèi)置的可重寫的非易失性存儲(chǔ)器的媒體(例如存儲(chǔ)卡)和具有內(nèi)置ROM的媒體(例如ROM盒)。
[0039]圖2為本發(fā)明實(shí)施例二提供的軟件故障的定位裝置結(jié)構(gòu)示意圖,如圖2所示,該裝置是上述方法實(shí)施例的執(zhí)行主體,方法步驟可以參考上述實(shí)施例的描述,本實(shí)施例中不做贅述。該裝置包括:
[0040]確定模塊201,用于確定定位開始時(shí)刻;
[0041]獲得模塊202,用于獲得定位開始時(shí)刻的系統(tǒng)環(huán)境;
[0042]重現(xiàn)模塊203,用于在所述定位開始時(shí)刻的系統(tǒng)環(huán)境中,重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài);
[0043]分析模塊204,用于根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題。
[0044]一種實(shí)施方式下,確定模塊201包括:
[0045]切分單元,用于將軟件出現(xiàn)故障的本次運(yùn)行,在時(shí)間上切分為多個(gè)時(shí)間切片;
[0046]選擇單元,用于選擇第i個(gè)時(shí)間切片的開始時(shí)刻作為定位開始時(shí)刻,所述i為常數(shù)。
[0047]又一種實(shí)施方式下,重現(xiàn)模塊203包括:
[0048]重現(xiàn)單元,用于根據(jù)已記錄的從定位開始時(shí)刻到故障發(fā)生時(shí)刻的鼠標(biāo)點(diǎn)擊事件,重現(xiàn)從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)。
[0049]在上述實(shí)施方式的基礎(chǔ)上,重現(xiàn)模塊203還包括:
[0050]獲得單元,用于將已記錄的鼠標(biāo)點(diǎn)擊事件中的無(wú)效點(diǎn)擊事件進(jìn)行刪除,獲得有效點(diǎn)擊事件。
[0051]在上述任一實(shí)施方式的基礎(chǔ)上,確定模塊201還用于:
[0052]如果重新模塊203重現(xiàn)的運(yùn)行狀態(tài)與故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)不符,則重新確定定位開始時(shí)刻。[0053]本發(fā)明提供的軟件故障的定位裝置,通過(guò)重現(xiàn)故障發(fā)生之前一段時(shí)間內(nèi)的軟件運(yùn)行狀態(tài)來(lái)實(shí)現(xiàn)軟件故障的自動(dòng)定位,不需要占用太多的資源,幫助用戶意識(shí)到操作問(wèn)題,幫助軟件研發(fā)人員獲得軟件設(shè)計(jì)的缺陷。
[0054]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,任何具有適當(dāng)編程裝置的計(jì)算機(jī)系統(tǒng)都將能夠執(zhí)行包含在程序產(chǎn)品中的本發(fā)明的方法的諸步驟。盡管本說(shuō)明書中描述的多數(shù)【具體實(shí)施方式】都側(cè)重于軟件程序,但是作為固件和硬件實(shí)現(xiàn)本發(fā)明提供的方法的替代實(shí)施例同樣在本發(fā)明要求保護(hù)的范圍之內(nèi)。
[0055]本發(fā)明提供的方案,有效監(jiān)測(cè)了待測(cè)界面的流暢度,而且在檢測(cè)到待測(cè)界面卡頓時(shí),可以根據(jù)待測(cè)界面的類型,如軟件界面還是視頻界面,來(lái)為用戶提供更為方便快捷的服務(wù),有效提高了自動(dòng)化處理的程度和用戶的體驗(yàn)。
[0056]以上所揭露的僅為本發(fā)明的一些較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種軟件故障的定位方法,其特征在于,包括: 確定定位開始時(shí)刻; 獲得定位開始時(shí)刻的系統(tǒng)環(huán)境; 在所述定位開始時(shí)刻的系統(tǒng)環(huán)境中,重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài); 根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定定位開始時(shí)刻包括: 將軟件出現(xiàn)故障的本次運(yùn)行,在時(shí)間上切分為多個(gè)時(shí)間切片; 選擇第i個(gè)時(shí)間切片的開始時(shí)刻作為定位開始時(shí)刻,所述i為常數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài),具體包括: 根據(jù)已記錄的從定位開始時(shí)刻到故障發(fā)生時(shí)刻的鼠標(biāo)點(diǎn)擊事件,重現(xiàn)從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述重現(xiàn)從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)之前,將已記錄的鼠標(biāo)點(diǎn)擊事件中的無(wú)效點(diǎn)擊事件進(jìn)行刪除,獲得有效點(diǎn)擊事件。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題,包括: 如果重現(xiàn)的運(yùn)行狀態(tài)與故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)不符,則重新確定定位開始時(shí)刻。
6.一種軟件故障的定位裝置,其特征在于,包括: 確定模塊,用于確定定位開始時(shí)刻; 獲得模塊,用于獲得定位開始時(shí)刻的系統(tǒng)環(huán)境; 重現(xiàn)模塊,用于在所述定位開始時(shí)刻的系統(tǒng)環(huán)境中,重現(xiàn)軟件從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài); 分析模塊,用于根據(jù)重現(xiàn)的運(yùn)行狀態(tài)確定導(dǎo)致軟件故障的問(wèn)題。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述確定模塊包括: 切分單元,用于將軟件出現(xiàn)故障的本次運(yùn)行,在時(shí)間上切分為多個(gè)時(shí)間切片; 選擇單元,用于選擇第i個(gè)時(shí)間切片的開始時(shí)刻作為定位開始時(shí)刻,所述i為常數(shù)。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述重現(xiàn)模塊具體包括: 重現(xiàn)單元,用于根據(jù)已記錄的從定位開始時(shí)刻到故障發(fā)生時(shí)刻的鼠標(biāo)點(diǎn)擊事件,重現(xiàn)從定位開始時(shí)刻到故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)。
9.根據(jù)權(quán)利要求 8所述的裝置,其特征在于,所述重現(xiàn)模塊還包括: 獲得單元,用于將已記錄的鼠標(biāo)點(diǎn)擊事件中的無(wú)效點(diǎn)擊事件進(jìn)行刪除,獲得有效點(diǎn)擊事件。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的裝置,其特征在于,確定模塊還用于: 如果重新模塊重現(xiàn)的運(yùn)行狀態(tài)與故障發(fā)生時(shí)刻的運(yùn)行狀態(tài)不符,則重新確定定位開始時(shí)刻。
【文檔編號(hào)】G06F11/36GK103902454SQ201410138417
【公開日】2014年7月2日 申請(qǐng)日期:2014年4月8日 優(yōu)先權(quán)日:2014年4月8日
【發(fā)明者】彭云鵬, 郭新甲 申請(qǐng)人:安一恒通(北京)科技有限公司