專利名稱:除錯(cuò)方法及計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是指一種除錯(cuò)方法及相關(guān)計(jì)算機(jī)系統(tǒng),尤指一種不需増加硬件電路又可取得完整執(zhí)行記錄數(shù)據(jù)來(lái)進(jìn)行除錯(cuò)的除錯(cuò)方法及相關(guān)計(jì)算機(jī)系統(tǒng)。
背景技術(shù):
當(dāng)計(jì)算機(jī)裝置發(fā)生當(dāng)機(jī)或是發(fā)生不正常開(kāi)機(jī)而導(dǎo)致相關(guān)外圍無(wú)法順利執(zhí)行時(shí),便需利用各種除錯(cuò)方式來(lái)尋找出故障的原因,以利于進(jìn)行后續(xù)的修復(fù)程序。舉例來(lái)說(shuō),已知技木通常會(huì)利用讀取端ロ 80(地址0x80)的檢測(cè)代碼來(lái)判斷故障原因,或是通過(guò)序列輸出(serial out)的方式來(lái)監(jiān)測(cè)系統(tǒng)執(zhí)行過(guò)程以得知故障的部分。然而,當(dāng)計(jì)算機(jī)裝置發(fā)生異常時(shí),讀取端ロ 80上的檢測(cè)代碼的方式僅能顯示某一斷點(diǎn)的信息_而無(wú)法提供足夠的除錯(cuò)信息。若采用序列輸出的方式,則常會(huì)囿于接ロ傳輸速度而造成系統(tǒng)延遲(由于處理器的處理速度過(guò)于快速),導(dǎo)致常會(huì)錯(cuò)失記載有故障信息的數(shù)據(jù)。
另ー種已知的除錯(cuò)方式便是通過(guò)追蹤基本輸入輸出系統(tǒng)(Basic input/outputsystem,BIOS)所記錄下來(lái)的執(zhí)行記錄數(shù)據(jù)來(lái)追溯系統(tǒng)異常的原因,然而一旦計(jì)算機(jī)裝置無(wú)法完成開(kāi)機(jī)程序吋,相關(guān)的執(zhí)行記錄數(shù)據(jù)將無(wú)法被完整地儲(chǔ)存,尤其是實(shí)際發(fā)生不正常運(yùn)作時(shí)的執(zhí)行記錄數(shù)據(jù)通常無(wú)法被儲(chǔ)存起來(lái),因此,仍舊無(wú)法得知錯(cuò)誤發(fā)生的原因而無(wú)法實(shí)現(xiàn)除錯(cuò)的目的。另ー方面,前述已知技術(shù)的方式,在實(shí)作上皆需額外增加硬件電路來(lái)加以實(shí)現(xiàn),對(duì)于計(jì)算機(jī)裝置的開(kāi)發(fā)設(shè)計(jì)者來(lái)說(shuō)非常的不方便,并且會(huì)増加制造成本與系統(tǒng)設(shè)計(jì)復(fù)雜度。
發(fā)明內(nèi)容
因此,本發(fā)明的主要目的即在于提供一種除錯(cuò)方法及相關(guān)計(jì)算機(jī)系統(tǒng)。本發(fā)明揭露一種用于ー計(jì)算機(jī)系統(tǒng)的除錯(cuò)方法,該除錯(cuò)方法包含有于ー儲(chǔ)存裝置中定義ー除錯(cuò)參考數(shù)據(jù)區(qū),以提供該計(jì)算機(jī)系統(tǒng)的一基本輸入輸出系統(tǒng)與ー控制裝置存取數(shù)據(jù);利用該控制裝置周期性地傳送出包含有一鑒別信息的一回復(fù)請(qǐng)求至該基本輸入輸出系統(tǒng);利用該基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求,傳送出相關(guān)于該鑒別信息的一響應(yīng)信息;利用該控制裝置檢查該響應(yīng)信息,并于該響應(yīng)信息中所包含的該鑒別信息不符合原先所傳送出的該鑒別信息吋,將ー執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該儲(chǔ)存裝置的該除錯(cuò)參考數(shù)據(jù)區(qū);判斷計(jì)算機(jī)系統(tǒng)是否運(yùn)作正常;以及于判斷結(jié)果為運(yùn)作異常時(shí),根據(jù)該執(zhí)行記錄數(shù)據(jù),進(jìn)行該計(jì)算機(jī)系統(tǒng)的ー除錯(cuò)程序。本發(fā)明還揭露ー種計(jì)算機(jī)系統(tǒng),包含有ー儲(chǔ)存裝置;一基本輸入輸出系統(tǒng),用來(lái)于該儲(chǔ)存裝置中定義ー除錯(cuò)參考數(shù)據(jù)區(qū);ー控制裝置,用來(lái)周期性地傳送出包含有一鑒別信息的一回復(fù)請(qǐng)求至該基本輸入輸出系統(tǒng);以及ー暫存存儲(chǔ)器,用來(lái)暫存ー執(zhí)行記錄數(shù)據(jù);其中,于該基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求傳送出相關(guān)于該鑒別信息的一響應(yīng)信息后,該控制裝置檢查該響應(yīng)信息,并于該響應(yīng)信息中所包含的該鑒別信息不符合原先所傳送出的該鑒別信息時(shí),該控制裝置將該暫存存儲(chǔ)器中的該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該儲(chǔ)存裝置的該除錯(cuò)參考數(shù)據(jù)區(qū)。
圖I為本發(fā)明實(shí)施例一計(jì)算機(jī)系統(tǒng)的示意圖。圖2為本發(fā)明實(shí)施例的一流程的示意圖。圖3為執(zhí)行記錄數(shù)據(jù)儲(chǔ)存過(guò)程的一示意圖。[主要元件標(biāo)號(hào)說(shuō)明]10計(jì)算機(jī)系統(tǒng)100中央處理器102基本輸入輸出系統(tǒng) 104控制裝置106儲(chǔ)存裝置108暫存存儲(chǔ)器110除錯(cuò)參考數(shù)據(jù)區(qū)112存儲(chǔ)器映射區(qū)20 流程200、202、204、206、208、210、212、214 步驟
具體實(shí)施例方式請(qǐng)參考圖1,圖I為本發(fā)明實(shí)施例ー計(jì)算機(jī)系統(tǒng)10的示意圖。計(jì)算機(jī)系統(tǒng)10可用來(lái)將系統(tǒng)運(yùn)作時(shí)所產(chǎn)生的一執(zhí)行記錄數(shù)據(jù)儲(chǔ)存起來(lái),以作為除錯(cuò)之用。如圖I所示,計(jì)算機(jī)系統(tǒng)10包含有一中央處理器100、一基本輸入輸出系統(tǒng)(basic input/output system, BIOS) 102、ー控制裝置104、ー儲(chǔ)存裝置106及ー暫存存儲(chǔ)器108。其中基本輸入輸出系統(tǒng)102是通過(guò)中央處理器100加載并執(zhí)行一基本輸入輸出系統(tǒng)碼,以實(shí)現(xiàn)相關(guān)操作功能??刂蒲b置104可為ー鍵盤控制器或一嵌入式控制器。儲(chǔ)存裝置106可以是任何于斷電后仍可保留數(shù)據(jù)的存儲(chǔ)裝置,例如ー閃存、一可編程只讀存儲(chǔ)器(PROM)或ー電子可抹除可編程只讀存儲(chǔ)器(EEPROM),但不以此為限。在本實(shí)施例中,基本輸入輸出系統(tǒng)102與控制裝置104可對(duì)儲(chǔ)存裝置106及暫存存儲(chǔ)器108進(jìn)行數(shù)據(jù)的存取。舉例來(lái)說(shuō),如圖I所示,基本輸入輸出系統(tǒng)102與控制裝置104可以存儲(chǔ)器映射輸入輸出(memory mapped input/output, MMIO)方式對(duì)暫存存儲(chǔ)器108的一存儲(chǔ)器映射區(qū)112進(jìn)行數(shù)據(jù)存取。關(guān)于如何在計(jì)算機(jī)系統(tǒng)10中將執(zhí)行記錄數(shù)據(jù)完整地保存在儲(chǔ)存裝置106中并據(jù)以進(jìn)行除錯(cuò)程序的方式,可歸納為一流程20,請(qǐng)參考圖2,要注意的是,若是有實(shí)質(zhì)上相同的結(jié)果,則流程20并不以圖2所示流程圖的順序?yàn)橄?。流?0包含以下步驟步驟200:開(kāi)始。步驟202 :于儲(chǔ)存裝置106中定義ー除錯(cuò)參考數(shù)據(jù)區(qū)110,以提供基本輸入輸出系統(tǒng)102與控制裝置104存取數(shù)據(jù)。步驟204 :控制裝置104周期性地傳送出包含有鑒別信息的回復(fù)請(qǐng)求至基本輸入輸出系統(tǒng)102。步驟206 :基本輸入輸出系統(tǒng)102根據(jù)回復(fù)請(qǐng)求,傳送出相關(guān)于鑒別信息的響應(yīng)信
o步驟208 :控制裝置104檢查響應(yīng)信息,并于響應(yīng)信息中所包含的鑒別信息不符合原先所傳送出的鑒別信息時(shí),將執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110中。
步驟210 :判斷計(jì)算機(jī)系統(tǒng)10是否運(yùn)作正常。若是的話,執(zhí)行步驟204 ;若否的話,執(zhí)行步驟212。步驟212 :根據(jù)執(zhí)行記錄數(shù)據(jù),進(jìn)行計(jì)算機(jī)系統(tǒng)10的除錯(cuò)程序。步驟214:結(jié)束。根據(jù)流程20,首先,在步驟202中,基本輸入輸出系統(tǒng)102會(huì)于儲(chǔ)存裝置106中定義出ー除錯(cuò)參考數(shù)據(jù)區(qū)110以提供一個(gè)專門存取執(zhí)行記錄數(shù)據(jù)的儲(chǔ)存空間,也就是說(shuō),除錯(cuò)參考數(shù)據(jù)區(qū)110是保留給基本輸入輸出系統(tǒng)102與控制裝置104存取數(shù)據(jù)用,而不會(huì)被操作系統(tǒng)或是其它程序所破壞的儲(chǔ)存區(qū)域。詳細(xì)來(lái)說(shuō),基本輸入輸出系統(tǒng)102可先于儲(chǔ)存裝置106中規(guī)劃出ー個(gè)預(yù)定儲(chǔ)存區(qū),并通知控制裝置104該預(yù)定儲(chǔ)存區(qū)的大小與范圍。接著,基本輸入輸出系統(tǒng)102必須確認(rèn)是否控制裝置104可于該預(yù)定儲(chǔ)存區(qū)中存取數(shù)據(jù),若控制裝置104無(wú)法于該預(yù)定儲(chǔ)存區(qū)中存取數(shù)據(jù),基本輸入輸出系統(tǒng)102會(huì)重新于儲(chǔ)存裝置106中規(guī)劃其它的儲(chǔ)存空間。若控制裝置104確實(shí)可于所規(guī)畫出的該預(yù)定儲(chǔ)存區(qū)存取數(shù)據(jù),基 本輸入輸出系統(tǒng)102進(jìn)而將儲(chǔ)存裝置106中原本所規(guī)劃出的該預(yù)定儲(chǔ)存區(qū)定義為一除錯(cuò)參考數(shù)據(jù)區(qū)110,舉例來(lái)說(shuō),基本輸入輸出系統(tǒng)102可于對(duì)儲(chǔ)存裝置106進(jìn)行初始化程序時(shí),通過(guò)一宣告指令(例如進(jìn)階配置電源接ロ(advanced configuration and power interface,ACPI)規(guī)范中的Operation Region指令)來(lái)指定儲(chǔ)存裝置106的某一特定區(qū)域?yàn)槌e(cuò)參考數(shù)據(jù)區(qū)110。一般來(lái)說(shuō),基本輸入輸出系統(tǒng)102或是計(jì)算機(jī)系統(tǒng)10運(yùn)作時(shí)所產(chǎn)生的執(zhí)行記錄數(shù)據(jù)會(huì)被寫入至?xí)捍娲鎯?chǔ)器108中。因此在步驟202中,當(dāng)除錯(cuò)參考數(shù)據(jù)區(qū)110被定義完成之后,基本輸入輸出系統(tǒng)102即可開(kāi)始將已寫入暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)110,并通知控制裝置104開(kāi)始進(jìn)行一執(zhí)行記錄數(shù)據(jù)服務(wù)。換言之,當(dāng)除錯(cuò)參考數(shù)據(jù)區(qū)110被定義完成之后,于基本輸入輸出系統(tǒng)102運(yùn)作的過(guò)程中,相對(duì)應(yīng)的執(zhí)行記錄數(shù)據(jù)將會(huì)被基本輸入輸出系統(tǒng)102寫入暫存存儲(chǔ)器108的除錯(cuò)參考數(shù)據(jù)區(qū)110中,如此ー來(lái),較佳地,基本輸入輸出系統(tǒng)102會(huì)定期地(每隔一寫入周期)將暫存存儲(chǔ)器108的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106中的除錯(cuò)參考數(shù)據(jù)區(qū)110。接著,在步驟204中,當(dāng)除錯(cuò)參考數(shù)據(jù)區(qū)110被定義完成之后,或是當(dāng)接到基本輸入輸出系統(tǒng)102通知開(kāi)始進(jìn)行執(zhí)行記錄數(shù)據(jù)服務(wù)的通知后,控制裝置104會(huì)開(kāi)始傳送出包含有鑒別信息的回復(fù)請(qǐng)求至基本輸入輸出系統(tǒng)102,并且會(huì)持續(xù)地每隔一段時(shí)間傳送出包含有鑒別信息的回復(fù)請(qǐng)求至基本輸入輸出系統(tǒng)102。換言之,控制裝置104會(huì)周期性地傳送回復(fù)請(qǐng)求至基本輸入輸出系統(tǒng)102,直到系統(tǒng)停止運(yùn)作或是收到相關(guān)的中止指示。舉例來(lái)說(shuō),于控制裝置104關(guān)閉系統(tǒng)電源前,控制裝置104便會(huì)停止傳送回復(fù)請(qǐng)求?;蛘?,于接收到基本輸入輸出系統(tǒng)102的中止指示后,控制裝置104停止傳送回復(fù)請(qǐng)求。在步驟206中,當(dāng)基本輸入輸出系統(tǒng)102收到回復(fù)請(qǐng)求之后,基本輸入輸出系統(tǒng)102會(huì)根據(jù)回復(fù)請(qǐng)求,傳送出相關(guān)于鑒別信息的響應(yīng)信息。其中響應(yīng)信息可包含回復(fù)請(qǐng)求中的鑒別信息以及其它相關(guān)信息。舉例來(lái)說(shuō),若鑒別信息為「0010」,則基本輸入輸出系統(tǒng)102會(huì)相應(yīng)的傳送出響應(yīng)信息(內(nèi)容為「0010」)。簡(jiǎn)言之,控制裝置104可傳送出相關(guān)的響應(yīng)信息至相對(duì)應(yīng)的基本輸入輸出系統(tǒng)102來(lái)作為驗(yàn)證的依據(jù),而當(dāng)基本輸入輸出系統(tǒng)102也如期且正確地傳送出相對(duì)應(yīng)的響應(yīng)信息,表不基本輸入輸出系統(tǒng)102目前為正常操作中,反之,則表示基本輸入輸出系統(tǒng)102可能發(fā)生操作異常的情況。如此ー來(lái),通過(guò)步驟204與步驟206的運(yùn)作,將可在基本輸入輸出系統(tǒng)102與控制裝置104之間建立出ー個(gè)握手機(jī)制,而控制裝置可據(jù)以判斷基本輸入輸出系統(tǒng)102的運(yùn)作狀況。在步驟208中,控制裝置104會(huì)檢查基本輸入輸出系統(tǒng)102所傳出的響應(yīng)信息,并于響應(yīng)信息中所包含的鑒別信息不符合原先所傳送出的鑒別信息時(shí),將執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110。換言之,控制裝置104于傳送出響應(yīng)請(qǐng)求(步驟204)后,便開(kāi)始檢測(cè)基本輸入輸出系統(tǒng)102是否發(fā)出響應(yīng)信息。當(dāng)檢測(cè)到基本輸入輸出系統(tǒng)102所發(fā)出的響應(yīng)信息,控制裝置104會(huì)檢查該響應(yīng)信息中所包含的鑒別信息是否符合原先所傳送出的鑒別信息。當(dāng)響應(yīng)信息中所包含的該鑒別信息符合原先所傳送出的該鑒別信息時(shí),表示基本輸入輸出系統(tǒng)102處于正常的操作狀態(tài)。當(dāng)響應(yīng)信息中所包含的該鑒別信息不符合原先所傳送出的該鑒別信息時(shí),表不基本輸入輸出系統(tǒng)102處于異常的操作狀
態(tài)。舉例來(lái)說(shuō),若控制裝置104所傳出的鑒別信息依序?yàn)椤?010」、「0011」及「0100」,而基本輸入輸出系統(tǒng)102相應(yīng)的依序傳送出的響應(yīng)信息為「0010」、「0011」及「0111」,在此情況下,由于最后的響應(yīng)信息與控制裝置104所傳出的鑒別信息不吻合,在此情況下,基本輸入輸出系統(tǒng)102此時(shí)應(yīng)處于異常操作狀態(tài)。因此,當(dāng)響應(yīng)信息中所包含的鑒別信息不符合原先所傳送出的鑒別信息時(shí),控制裝置104便將執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110。換言之,控制裝置104通過(guò)前述的握手溝通機(jī)制來(lái)判斷基本輸入輸出系統(tǒng)102的運(yùn)作狀態(tài),并于基本輸入輸出系統(tǒng)102可能處于異常操作狀態(tài)時(shí),直接控制將已寫入暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110,而取代原先基本輸入輸出系統(tǒng)102的操作。雖然基本輸入輸出系統(tǒng)102會(huì)定期地將已寫入暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110,然而,一旦基本輸入輸出系統(tǒng)102發(fā)生異常操作而造成當(dāng)機(jī)時(shí),最后的這段已寫入暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)由于尚未被儲(chǔ)存至儲(chǔ)存裝置106,在斷電之后將會(huì)消失,因此本發(fā)明便通過(guò)控制裝置104將已寫入暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110,而得以保全最關(guān)鍵的執(zhí)行記錄數(shù)據(jù)。因此,在本實(shí)施例中,當(dāng)響應(yīng)信息中所包含的鑒別信息符合原先所傳送出的鑒別信息時(shí),是由基本輸入輸出系統(tǒng)102將暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110 ;反之,當(dāng)響應(yīng)信息中所包含的鑒別信息不符合原先所傳送出的鑒別信息時(shí),則換由控制裝置104將執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110。簡(jiǎn)言之,控制裝置104可將尚未被基本輸入輸出系統(tǒng)102儲(chǔ)存至儲(chǔ)存裝置106的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106,以提供后續(xù)除錯(cuò)之用。此外,在步驟208中,若是基本輸入輸出系統(tǒng)102沒(méi)有發(fā)送響應(yīng)信息,則表示基本輸入輸出系統(tǒng)102可能已處于異常的操作狀態(tài),因此,當(dāng)控制裝置104于ー特定時(shí)間內(nèi)檢測(cè)不到響應(yīng)信息時(shí),亦會(huì)將已寫入暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110。另ー方面,由于控制裝置104可控制系統(tǒng)電源及提供至各組件的電源,因此,當(dāng)基本輸入輸出系統(tǒng)102系統(tǒng)發(fā)生運(yùn)作異?;蛲V惯\(yùn)作吋,通過(guò)控制裝置104來(lái)儲(chǔ)存數(shù)據(jù),將可確保系統(tǒng)斷電如完成完整的儲(chǔ)存程序。在步驟210中,可通過(guò)控制裝置104或是其它裝置來(lái)判斷計(jì)算機(jī)系統(tǒng)10是否運(yùn)作正常。若是的話,則執(zhí)行步驟204,繼續(xù)進(jìn)行步驟204至步驟208。若計(jì)算機(jī)系統(tǒng)發(fā)生當(dāng)機(jī)或是其它的異常情況時(shí),則進(jìn)ー步執(zhí)行步驟212。因此,在步驟212中,當(dāng)計(jì)算機(jī)系統(tǒng)異常運(yùn)作時(shí),使用者便可自儲(chǔ)存裝置106中讀取根據(jù)前述步驟所儲(chǔ)存下來(lái)的執(zhí)行記錄數(shù)據(jù),并據(jù)以進(jìn)行除錯(cuò)的程序。以下進(jìn)ー步以應(yīng)用于基本輸入輸出系統(tǒng)102執(zhí)行開(kāi)機(jī)后的自我測(cè)試(power-onself test,POST)時(shí)為例來(lái)做說(shuō)明。假設(shè)于系統(tǒng)電源被開(kāi)啟后,基本輸入/輸出系統(tǒng)便會(huì)執(zhí)行測(cè)試硬件外圍(如存儲(chǔ)器、硬盤、通訊端ロ等)是否存在或是否運(yùn)作正常等相關(guān)的初始化程序。首先,在基本輸入輸出系統(tǒng)102執(zhí)行自我測(cè)試前,基本輸入輸出系統(tǒng)102可先于儲(chǔ)存裝置106中定義出除錯(cuò)參考數(shù)據(jù)區(qū)110并通知控制裝置104開(kāi)始進(jìn)行執(zhí)行記錄數(shù)據(jù)服務(wù)。接著,基本輸入輸出系統(tǒng)102執(zhí)行自我測(cè)試程序時(shí)的相關(guān)執(zhí)行記錄數(shù)據(jù)便開(kāi)始會(huì)被寫入暫存存儲(chǔ)器108的存儲(chǔ)器映射區(qū)112中。舉例來(lái)說(shuō),請(qǐng)參考圖3,圖3為執(zhí)行記錄數(shù)據(jù)儲(chǔ)存過(guò)程的一不意圖。當(dāng)基本輸入輸出系統(tǒng)102執(zhí)行自我測(cè)試時(shí),基本輸入輸出系統(tǒng)102會(huì)將ー識(shí)別信息與一數(shù)據(jù)長(zhǎng)度信息分別寫入存儲(chǔ)器映射區(qū)112的一識(shí)別字段SIG與一數(shù)據(jù)長(zhǎng)度字段Log_Length,并且會(huì)將相應(yīng)的執(zhí)行記錄數(shù)據(jù)寫入存儲(chǔ)器映射區(qū)112的一數(shù)據(jù)域位DATA?;据斎胼敵鱿到y(tǒng)102會(huì)周期性地將暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)移動(dòng)至儲(chǔ)存裝置106中的除錯(cuò)參考數(shù)據(jù)區(qū)110中。另ー方面,當(dāng)基本輸入輸出系統(tǒng)102通知控制裝置104開(kāi)始進(jìn)行執(zhí)行記錄數(shù)據(jù)服務(wù)后,控制裝置104便開(kāi)始傳送出包含有鑒別信息的回復(fù)請(qǐng)求至基本輸 入輸出系統(tǒng)102。接著,基本輸入輸出系統(tǒng)102會(huì)根據(jù)回復(fù)請(qǐng)求,傳送出相關(guān)于鑒別信息的響應(yīng)信息。舉例來(lái)說(shuō),于收到回復(fù)請(qǐng)求后,基本輸入輸出系統(tǒng)102可將響應(yīng)信息寫入至存儲(chǔ)器映射區(qū)112的一鑒別字段TK。如此ー來(lái),控制裝置104可以通過(guò)檢查鑒別字段TK中的數(shù)據(jù)是否符合原先所傳送出的鑒別信息來(lái)判斷基本輸入輸出系統(tǒng)102的運(yùn)作狀況。當(dāng)控制裝置104檢查出鑒別字段TK所儲(chǔ)存的響應(yīng)信息中所包含的鑒別信息不符合原先所傳送出的鑒別信息時(shí),控制裝置104便控制將數(shù)據(jù)域位DATA中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110。此外,由于基本輸入輸出系統(tǒng)102周期性地(每隔一寫入周期)將暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至除錯(cuò)參考數(shù)據(jù)區(qū)110。因此,控制裝置104亦可根據(jù)識(shí)別字段SIG與數(shù)據(jù)長(zhǎng)度字段Log_Length中的信息,將數(shù)據(jù)域位DATA中自基本輸入輸出系統(tǒng)102前次儲(chǔ)存后的新增數(shù)據(jù)部分儲(chǔ)存至儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110。因此,若控制裝置104周期性地傳送回復(fù)請(qǐng)求至基本輸入輸出系統(tǒng)102,并持續(xù)地檢查存儲(chǔ)器映射區(qū)112中的響應(yīng)信息,暫存存儲(chǔ)器108中的執(zhí)行記錄數(shù)據(jù)將可被安全地移至除錯(cuò)參考數(shù)據(jù)區(qū)110,而不會(huì)被漏失。在此情況下,每當(dāng)系統(tǒng)當(dāng)機(jī)吋,使用者便可通過(guò)讀取與分析儲(chǔ)存裝置106的除錯(cuò)參考數(shù)據(jù)區(qū)110所儲(chǔ)存的執(zhí)行記錄數(shù)據(jù)來(lái)進(jìn)行系統(tǒng)除錯(cuò),以找出錯(cuò)誤的地方。綜上所述,本發(fā)明通過(guò)握手溝通機(jī)制使控制裝置104可將尚未被基本輸入輸出系統(tǒng)102儲(chǔ)存至儲(chǔ)存裝置106的執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置106,如此ー來(lái),使用者便可通過(guò)讀取與分析儲(chǔ)存于儲(chǔ)存裝置106的執(zhí)行記錄數(shù)據(jù)來(lái)進(jìn)行系統(tǒng)除錯(cuò),而能輕易且快速地找出錯(cuò)誤的部分。相較于先前技術(shù),本發(fā)明完全不需增加外部硬件電路,僅需通過(guò)現(xiàn)有的基本輸入輸出系統(tǒng)102與控制裝置104即可取得有助于除錯(cuò)的消息。而且,即使計(jì)算機(jī)系統(tǒng)發(fā)生當(dāng)機(jī)而無(wú)法完成開(kāi)機(jī)程序時(shí),本發(fā)明亦能將執(zhí)行記錄數(shù)據(jù)儲(chǔ)存下來(lái)作為除錯(cuò)之用。以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明權(quán)利要求范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種用于一計(jì)算機(jī)系統(tǒng)的除錯(cuò)方法,包含有 于一儲(chǔ)存裝置中定義一除錯(cuò)參考數(shù)據(jù)區(qū),以提供該計(jì)算機(jī)系統(tǒng)的一基本輸入輸出系統(tǒng)與一控制裝置存取數(shù)據(jù); 利用該控制裝置周期性地傳送出包含有一鑒別信息的一回復(fù)請(qǐng)求至該基本輸入輸出系統(tǒng); 利用該基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求,傳送出相關(guān)于該鑒別信息的一響應(yīng)信息; 利用該控制裝置檢查該響應(yīng)信息,并于該響應(yīng)信息中所包含的該鑒別信息不符合原先所傳送出的該鑒別信息時(shí),將一執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該儲(chǔ)存裝置的該除錯(cuò)參考數(shù)據(jù)區(qū); 判斷該計(jì)算機(jī)系統(tǒng)是否運(yùn)作正常;以及 于判斷結(jié)果為運(yùn)作異常時(shí),根據(jù)該執(zhí)行記錄數(shù)據(jù),進(jìn)行該計(jì)算機(jī)系統(tǒng)的一除錯(cuò)程序。
2.根據(jù)權(quán)利要求I所述的除錯(cuò)方法,其中于該儲(chǔ)存裝置中定義該除錯(cuò)參考數(shù)據(jù)區(qū),以提供該計(jì)算機(jī)系統(tǒng)的該基本輸入輸出系統(tǒng)與該控制裝置存取數(shù)據(jù)的步驟包含有 利用該基本輸入輸出系統(tǒng)于該儲(chǔ)存裝置中定義出該除錯(cuò)參考數(shù)據(jù)區(qū),并確認(rèn)該控制裝置可自該除錯(cuò)參考數(shù)據(jù)區(qū)存取數(shù)據(jù);以及 利用該基本輸入輸出系統(tǒng)將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)。
3.根據(jù)權(quán)利要求2所述的除錯(cuò)方法,其中利用該基本輸入輸出系統(tǒng)將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)的步驟還包含有 利用該基本輸入輸出系統(tǒng)通知該控制裝置開(kāi)始進(jìn)行一執(zhí)行記錄數(shù)據(jù)服務(wù)。
4.根據(jù)權(quán)利要求2所述的除錯(cuò)方法,其中利用該基本輸入輸出系統(tǒng)將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)的步驟包含有 利用該基本輸入輸出系統(tǒng)將一識(shí)別信息、一數(shù)據(jù)長(zhǎng)度信息與該執(zhí)行記錄數(shù)據(jù)分別寫入一暫存存儲(chǔ)器的一識(shí)別字段、一數(shù)據(jù)長(zhǎng)度字段與一數(shù)據(jù)域位;以及 利用該基本輸入輸出系統(tǒng)根據(jù)該識(shí)別信息與該數(shù)據(jù)長(zhǎng)度信息,每隔一寫入周期將該執(zhí)行記錄數(shù)據(jù)寫入至該除錯(cuò)參考數(shù)據(jù)區(qū)。
5.根據(jù)權(quán)利要求4所述的除錯(cuò)方法,其中利用該基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求,傳送出相關(guān)于該鑒別信息的該響應(yīng)信息的步驟包含有 利用該基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求,將相關(guān)于該鑒別信息的該響應(yīng)信息寫入該暫存存儲(chǔ)器的該鑒別字段。
6.根據(jù)權(quán)利要求5所述的除錯(cuò)方法,其中利用該控制裝置檢查該響應(yīng)信息,并于該響應(yīng)信息中所包含的該鑒別信息不符合原先所傳送出的該鑒別信息時(shí),將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該儲(chǔ)存裝置的該除錯(cuò)參考數(shù)據(jù)區(qū)的步驟包含有 利用該控制裝置檢查該暫存存儲(chǔ)器的該鑒別字段所記載的該響應(yīng)信息是否符合原先所傳送出的該鑒別信息;以及 于檢查結(jié)果為不符合時(shí),利用該控制裝置將該數(shù)據(jù)域位的該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)。
7.根據(jù)權(quán)利要求6所述的除錯(cuò)方法,其中于檢查結(jié)果為不符合時(shí),利用該控制裝置將該數(shù)據(jù)域位的該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)的步驟包含有 于檢查結(jié)果為不符合時(shí),利用該控制裝置根據(jù)該數(shù)據(jù)長(zhǎng)度字段所記載的該數(shù)據(jù)長(zhǎng)度,將該數(shù)據(jù)域位的該執(zhí)行記錄數(shù)據(jù)的其中一部分儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)。
8.根據(jù)權(quán)利要求I所述的除錯(cuò)方法,其中利用該控制裝置檢查該響應(yīng)信息,并于該響應(yīng)信息中所包含的該鑒別信息不符合原先所傳送出的該鑒別信息時(shí),將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該儲(chǔ)存裝置的該除錯(cuò)參考數(shù)據(jù)區(qū)的步驟還包含有 于該回復(fù)請(qǐng)求被傳送出至該基本輸入輸出系統(tǒng)后,利用該控制裝置檢測(cè)該響應(yīng)信息,并于該檢測(cè)結(jié)果為無(wú)時(shí),利用該控制裝置將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該儲(chǔ)存裝置的該除錯(cuò)參考數(shù)據(jù)區(qū)。
9.一種計(jì)算機(jī)系統(tǒng),包含有 一儲(chǔ)存裝置; 一基本輸入輸出系統(tǒng),用來(lái)于該儲(chǔ)存裝置中定義一除錯(cuò)參考數(shù)據(jù)區(qū); 一控制裝置,用來(lái)周期性地傳送出包含有一鑒別信息的一回復(fù)請(qǐng)求至該基本輸入輸出系統(tǒng);以及 一暫存存儲(chǔ)器,用來(lái)暫存一執(zhí)行記錄數(shù)據(jù); 其中,于該基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求傳送出相關(guān)于該鑒別信息的一響應(yīng)信息后,該控制裝置檢查該響應(yīng)信息,并于該響應(yīng)信息中所包含的該鑒別信息不符合原先所傳送出的該鑒別信息時(shí),該控制裝置將該暫存存儲(chǔ)器中的該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該儲(chǔ)存裝置的該除錯(cuò)參考數(shù)據(jù)區(qū)。
10.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中于定義出該除錯(cuò)參考數(shù)據(jù)區(qū)及確認(rèn)該控制裝置可自該除錯(cuò)參考數(shù)據(jù)區(qū)存取數(shù)據(jù)后,該基本輸入輸出系統(tǒng)將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)。
11.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)系統(tǒng),其中該基本輸入輸出系統(tǒng)通知該控制裝置開(kāi)始進(jìn)行一執(zhí)行記錄數(shù)據(jù)服務(wù)。
12.根據(jù)權(quán)利要求10所述的計(jì)算機(jī)系統(tǒng),其中于一識(shí)別信息、一數(shù)據(jù)長(zhǎng)度信息與該執(zhí)行記錄數(shù)據(jù)分別被寫入該暫存存儲(chǔ)器的一識(shí)別字段、一數(shù)據(jù)長(zhǎng)度字段與一數(shù)據(jù)域位之后,該基本輸入輸出系統(tǒng)根據(jù)該識(shí)別信息與該數(shù)據(jù)長(zhǎng)度信息,每隔一寫入周期將該執(zhí)行記錄數(shù)據(jù)寫入至該除錯(cuò)參考數(shù)據(jù)區(qū)。
13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)系統(tǒng),其中該基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求,將相關(guān)于該鑒別信息的該響應(yīng)信息寫入該暫存存儲(chǔ)器的該鑒別字段。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)系統(tǒng),其中于檢查出該暫存存儲(chǔ)器的該鑒別字段所記載的該響應(yīng)信息不符合原先所傳送出的該鑒別信息時(shí),該控制裝置將該數(shù)據(jù)域位的該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)。
15.根據(jù)權(quán)利要求14所述的計(jì)算機(jī)系統(tǒng),其中于檢查出該暫存存儲(chǔ)器的該鑒別字段所記載的該響應(yīng)信息不符合原先所傳送出的該鑒別信息時(shí),該控制裝置根據(jù)該數(shù)據(jù)長(zhǎng)度字段所記載的該數(shù)據(jù)長(zhǎng)度,將該數(shù)據(jù)域位的該執(zhí)行記錄數(shù)據(jù)的其中一部分儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)。
16.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),于該回復(fù)請(qǐng)求被傳送出至該基本輸入輸出系統(tǒng)后,該控制裝置檢測(cè)該響應(yīng)信息,并于該檢測(cè)結(jié)果為無(wú)時(shí),該控制裝置將該執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至該除錯(cuò)參考數(shù)據(jù)區(qū)。
全文摘要
用于計(jì)算機(jī)系統(tǒng)的除錯(cuò)方法,包含有于儲(chǔ)存裝置中定義除錯(cuò)參考數(shù)據(jù)區(qū),以提供該計(jì)算機(jī)系統(tǒng)的基本輸入輸出系統(tǒng)與控制裝置存取數(shù)據(jù);利用控制裝置周期性地傳送出包含有鑒別信息的回復(fù)請(qǐng)求至該基本輸入輸出系統(tǒng);利用基本輸入輸出系統(tǒng)根據(jù)該回復(fù)請(qǐng)求,傳送出相關(guān)于鑒別信息的響應(yīng)信息;利用控制裝置檢查響應(yīng)信息,并于響應(yīng)信息中所包含的鑒別信息不符合原先所傳送出的鑒別信息時(shí),將執(zhí)行記錄數(shù)據(jù)儲(chǔ)存至儲(chǔ)存裝置的除錯(cuò)參考數(shù)據(jù)區(qū);判斷計(jì)算機(jī)系統(tǒng)是否運(yùn)作正常;以及于判斷結(jié)果為運(yùn)作異常時(shí),根據(jù)執(zhí)行記錄數(shù)據(jù),進(jìn)行計(jì)算機(jī)系統(tǒng)的除錯(cuò)程序。
文檔編號(hào)G06F11/22GK102760090SQ20111013802
公開(kāi)日2012年10月31日 申請(qǐng)日期2011年5月26日 優(yōu)先權(quán)日2011年4月27日
發(fā)明者李元展, 林鈺慈 申請(qǐng)人:緯創(chuàng)資通股份有限公司