TWI709082B - 應用於開機階段及開機後運行階段的除錯訊息紀錄方法 - Google Patents

應用於開機階段及開機後運行階段的除錯訊息紀錄方法 Download PDF

Info

Publication number
TWI709082B
TWI709082B TW108123904A TW108123904A TWI709082B TW I709082 B TWI709082 B TW I709082B TW 108123904 A TW108123904 A TW 108123904A TW 108123904 A TW108123904 A TW 108123904A TW I709082 B TWI709082 B TW I709082B
Authority
TW
Taiwan
Prior art keywords
computer device
error
error code
target
target error
Prior art date
Application number
TW108123904A
Other languages
English (en)
Other versions
TW202102998A (zh
Inventor
黃佳仁
Original Assignee
神雲科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 神雲科技股份有限公司 filed Critical 神雲科技股份有限公司
Priority to TW108123904A priority Critical patent/TWI709082B/zh
Application granted granted Critical
Publication of TWI709082B publication Critical patent/TWI709082B/zh
Publication of TW202102998A publication Critical patent/TW202102998A/zh

Links

Images

Abstract

一種應用於開機階段及開機後運行階段的除錯訊息紀錄方法,藉由一儲存有多個錯誤代碼、多個除錯訊息及一錯誤參數的電腦裝置來實施,包含:(A) 根據該錯誤參數,判定前一次執行時是否有發生不可復原的錯誤;(B) 當判定出沒有發生不可復原的錯誤時,當接收到中斷訊號時,中斷當前所執行之程序,執行一錯誤處理程序;(C) 經由該錯誤處理程序,獲得一第一目標錯誤代碼;(D) 當該第一目標錯誤代碼具有對應的除錯訊息時,記錄該第一目標錯誤代碼所對應的除錯訊息;(E) 當該第一目標錯誤代碼不具有對應的除錯訊息時,不記錄任何除錯訊息。

Description

應用於開機階段及開機後運行階段的除錯訊息紀錄方法
本發明是有關於一種基本輸入輸出系統中的訊息記錄方法,特別是指一種基本輸入輸出系統中相關於除錯訊息的記錄方法。
目前於伺服器領域中,對於同一個基本輸入輸出系統(BIOS)皆存在有兩種版本,第一種版本的基本輸入輸出系統(Release Mode BIOS)於開機階段中執行或進入錯誤處理程序時皆不會產生對應的除錯訊息,以節省開機時間並供一般使用者使用;而第二種版本的基本輸入輸出系統(Debug Mode BIOS)於開機階段中執行或進入錯誤處理程序(Error Handling)時皆會不停的產生對應的除錯訊息,雖造成開機時間過長,但其中部分的除錯訊息能對於技術研發人員於研發除錯上提供莫大的幫助。
現今客戶端皆使用第一種版本的基本輸入輸出系統,而當系統於執行中出現錯誤時,僅能透過基本輸入輸出系統之事件紀錄檔(BIOS Event Log)來查看相關的錯誤資訊,但是對於技術研發人員基本輸入輸出系統之事件紀錄檔所記錄的錯誤資訊仍然不夠詳細。因此,技術研發人員必須要將使用第一種版本的基本輸入輸出系統重新燒錄為第二種版本的基本輸入輸出系統,才能取得對應的除錯訊息,但此種方法仍有無法重現系統於使用第一種版本的基本輸入輸出系統時所出現錯誤的風險,使得於實施上,當客戶端系統發生錯誤時,技術研發人員亦需去客戶端現場維修。
有鑑於此,故如何提供一種無需重新燒錄為第二種版本的基本輸入輸出系統,便能於系統發生錯誤時記錄或顯示對於技術研發人員有效的必要除錯訊息,同時縮減開機時間及減少技術研發人員去客戶端現場維修之人力浪費的基本輸入輸出系統除錯訊息紀錄方法,即為本創作所欲解決之首要課題。
因此,本發明的目的,即在提供一種無需重新燒錄為第二種版本的基本輸入輸出系統,僅於系統發生錯誤時輸出對於技術研發人員有效的必要除錯訊息,同時縮減開機時間及減少技術研發人員去客戶端現場維修之人力浪費之應用於開機階段及開機後運行階段的除錯訊息紀錄方法。
於是,本發明應用於開機階段及開機後運行階段的除錯訊息紀錄方法,藉由一電腦裝置來實施,該電腦裝置儲存有多個錯誤代碼及多個除錯訊息,每一除錯訊息對應該等錯誤代碼之其中一者。
該應用於開機階段及開機後運行階段的除錯訊息紀錄方法包含一步驟(A)、一步驟(B)、一步驟(C)、一步驟(D) ,以及一步驟(E)。
步驟(A)是藉由該電腦裝置,根據該錯誤參數,判定該電腦裝置於前一次執行時是否有發生不可復原的錯誤。
步驟(B)是當判定出該電腦裝置於前一次執行時沒有發生不可復原的錯誤時,藉由該電腦裝置,當接收到一指示出該電腦裝置具有錯誤的中斷訊號時,中斷當前所執行之一程序,執行一錯誤處理程序。
步驟(C)是藉由該電腦裝置,經由該錯誤處理程序,獲得一第一目標錯誤代碼,該第一目標錯誤代碼為該等錯誤代碼之其中一者。
步驟(D)是當該第一目標錯誤代碼具有對應的除錯訊息時,藉由該電腦裝置,經由該錯誤處理程序,記錄該第一目標錯誤代碼所對應的除錯訊息。
步驟(E)是當該第一目標錯誤代碼不具有對應的除錯訊息時,藉由該電腦裝置,經由該錯誤處理程序,不記錄任何除錯訊息。
本發明之功效在於:藉由該電腦裝置所儲存該等錯誤代碼及該等篩選過的除錯訊息,於接收到該中斷訊號(Interrupt)並執行該錯誤處理程序時,才記錄或顯示所獲之該第一目標錯誤代碼所對應的除錯訊息,便可達成在無需重新燒錄為第二種版本的基本輸入輸出系統的情況下,僅於該電腦裝置發生錯誤時輸出篩選過之必要除錯訊息,同時縮減該電腦裝置的開機時間及減少技術研發人員去客戶端現場維修之人力浪費。
在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1,執行本發明應用於開機階段及開機後運行階段的除錯訊息紀錄方法之一實施例的一電腦裝置100,包含一儲存模組1、一顯示模組2,以及一電連接該儲存模組1及該顯示模組2的處理模組3。
該儲存模組1包含一第一儲存單元11及一第二儲存單元12。
該第一儲存單元11儲存有一基本輸入輸出系統、多個錯誤代碼、多個除錯訊息,以及一相關於該基本輸入輸出系統的重複錯誤代碼記錄表。其中,每一除錯訊息對應該等錯誤代碼之其中一者。該重複錯誤代碼記錄表包含該電腦裝置100所有發生過之錯誤代碼所對應的一發生次數。值得特別說明的是,在該實施例中,該等錯誤代碼與該等除錯訊息係包含於基本輸入輸出系統之程式碼中。此外,本發明係由技術研發人員以人工的方式,將習知技術所述之第二種版本的基本輸入輸出系統(Debug Mode BIOS)的所有除錯訊息進行篩選,並篩選出對於檢測維修該電腦裝置100方面是有效且必要的除錯訊息,以作為該第一儲存單元11中所儲存的該等除錯訊息。舉例來說,技術研發人員可將對於檢測維修該電腦裝置100方面是有效且必要的除錯訊息保留於基本輸入輸出系統之程式碼中,並將非必要的除錯訊息直接刪除;又或是,將每一誤代碼對應增設一旗標值,其中必要的除錯訊息所對應之誤代碼的旗標值,與非必要的除錯訊息所對應之誤代碼的旗標值不同,因此,該電腦裝置100可藉由所偵測之誤代碼所對應的旗標值判定是否記錄或顯示對應的除錯訊息,但不以上述兩種方式為限。此外,該第一儲存單元11中所儲存的該等錯誤代碼所指示出該電腦裝置100的錯誤皆是屬於可檢測錯誤(Detected Error),而不可檢測錯誤(Undetected Error)亦不在本發明的討論範圍。其中,可檢測錯誤又細分為可復原之錯誤( Correctable Error)及不可復原之錯誤( Uncorrectable Error)。
該第二儲存單元12儲存有一相關於該基本輸入輸出系統且用於指示出該電腦裝置100於前一次執行時是否有發生不可復原之錯誤( Uncorrectable Error)的錯誤參數。
在該實施例中,該電腦裝置100為一具有運算功能的電腦或伺服器,但不以此為限。
在該實施例中,該第一儲存單元11為一唯讀記憶體(ROM,Read-Only Memory),但不以此為限。
在該實施例中,該第二儲存單元12為一互補式金屬氧化物半導體(CMOS,Complementary Metal Oxide Semiconductor),但不以此為限。
以下將藉由本發明應用於開機階段及開機後運行階段的除錯訊息紀錄方法之該實施例來說明該電腦裝置100中之該儲存模組1、該顯示模組2及該處理模組3的運作細節,本發明應用於開機階段及開機後運行階段的除錯訊息紀錄方法包含一開機階段記錄程序,以及一運行階段記錄程序。
參閱圖2~4,該開機階段記錄程序係用於在該電腦裝置100處於開機階段且尚未執行作業系統時來記錄或顯示除錯訊息,並包含一步驟50、一步驟51、一步驟52、一步驟53、一步驟54、一步驟55、一步驟56、一步驟57、一步驟58、一步驟59、一步驟60、一步驟61、一步驟62、一步驟63、一步驟64、一步驟65、一步驟66、一步驟67、一步驟68、一步驟69、一步驟70、一步驟71,以及一步驟72。
在步驟50中,該處理模組3根據該儲存模組1中之該基本輸入輸出系統,執行一開機程序。
在步驟51中,該處理模組3根據該錯誤參數,判定該電腦裝置100於前一次執行該運行階段記錄程序時是否有發生不可復原的錯誤。當該處理模組3判定出該電腦裝置100於前一次執行該運行階段記錄程序時沒有發生不可復原的錯誤時,進行流程步驟52;當該處理模組3判定出該電腦裝置100於前一次執行該運行階段記錄程序時有發生不可復原的錯誤時,進行流程步驟64。
值得特別說明的是,執行步驟64即表示該錯誤參數指示出該電腦裝置100於前一次執行該運行階段記錄程序時,有發生不可復原的錯誤,而導致該電腦裝置100重新啟動,而來不及記錄或顯示對應的該除錯訊息供技術研發人員參考,因此必須在該電腦裝置100重新啟動後執行該開機階段記錄程序時,該電腦裝置100才將不可復原的錯誤所對應的該除錯訊息記錄或顯示,以供技術研發人員參考(步驟51及步驟64~72)。特別地,該處理模組3係透過已於該開機程序中完成初始化的一通訊介面(Communication port)將不可復原的錯誤所對應的該除錯訊息於該顯示模組2,或輸出後儲存於任一種儲存裝置(例:硬碟)以供技術研發人員參考。
在步驟52中,該處理模組3於該開機程序中判定是否有接收到一指示出該電腦裝置100具有錯誤的中斷訊號。當該處理模組3判定出沒有接收到該中斷訊號時,進行流程步驟53;當該處理模組3判定出有接收到該中斷訊號時,進行流程步驟54。值得特別說明的是,在該實施例中,該中斷訊號係用於指示出該電腦裝置100中之一系統暫存器儲存有一指示出錯誤代碼的第一數值。值得特別說明的是,步驟52因處於開機階段且尚未執行作業系統,因此步驟52之該中斷訊號屬於系統管理中斷(SMI,System Managment interrupt)。
在步驟53中,該處理模組3判定該開機程序是否完成。當該處理模組3判定出該開機程序未完成時,該處理模組3繼續執行該開機程序,並回到流程步驟52;當該處理模組3判定出該開機程序已完成時,結束該開機階段記錄程序。
在該子步驟54中,該處理模組3中斷當前所執行之該開機程序,執行該錯誤處理程序。
在步驟55中,該處理模組3經由該錯誤處理程序,將一指示出除錯訊息之顯示等級的顯示參數設定為顯示除錯訊息的全部或部分。值得特別說明的是,在該實施例中,將該顯示參數設定為3即表示設定為顯示除錯訊息的全部,將該顯示參數設定為2即表示設定為顯示除錯訊息的部分,而將該顯示參數設定為1即表示設定為顯示除錯訊息的部分,其中該顯示參數設定為2所顯示的除錯訊息之訊息量相較於該顯示參數設定為1所顯示的除錯訊息之訊息量較多且更為詳細。特別地,在該實施例中,將該顯示參數設定為3。
在步驟56中,該處理模組3經由該錯誤處理程序,獲得一第一目標錯誤代碼。該第一目標錯誤代碼為該等錯誤代碼之其中一者。
參閱圖5,值得特別說明的是,步驟56還進一步包含一子步驟561,以及一子步驟562。
在該子步驟561中,該處理模組3經由該錯誤處理程序,獲得該系統暫存器所儲存的該第一數值。
在該子步驟562中,該處理模組3經由該錯誤處理程序,根據該第一數值,獲得該第一目標錯誤代碼。
在步驟57中,該處理模組3經由該錯誤處理程序,根據該重複錯誤代碼記錄表,判定該第一目標錯誤代碼所對應的除錯訊息的發生次數是否超過一預設次數。當該處理模組3判定出該第一目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,進行流程步驟58;當該處理模組3判定出該第一目標錯誤代碼所對應的除錯訊息的發生次數超過該預設次數時,進行流程步驟61。
在步驟58中,該處理模組3經由該錯誤處理程序,將該重複錯誤代碼記錄表中應於該第一目標錯誤代碼之發生次數加一。
在步驟59中,當該第一目標錯誤代碼具有對應的除錯訊息時,該處理模組3經由該錯誤處理程序,根據所設定的該顯示參數,透過該通訊介面將該第一目標錯誤代碼所對應的除錯訊息的全部或部分顯示於該顯示模組2,或輸出後儲存於任一種儲存裝置以供技術研發人員參考。值得特別說明的是,若技術研發人員已將該第一目標錯誤代碼所對應的除錯訊息刪除,則表示該第一目標錯誤代碼不具有對應的除錯訊息,即該處理模組3不記錄或顯示任何除錯訊息;又或是,該處理模組3係根據該第一目標錯誤代碼所對應的旗標值,進而決定該第一目標錯誤代碼是否具有對應的除錯訊息,其中當該處理模組3判定出該第一目標錯誤代碼所對應的旗標值指示出該第一目標錯誤代碼所對應的除錯訊息屬於非必要的除錯訊息時,則表示該第一目標錯誤代碼不具有對應的除錯訊息,即該處理模組3不記錄或顯示任何除錯訊息,反之,當該處理模組3判定出該第一目標錯誤代碼所對應的旗標值指示出該第一目標錯誤代碼所對應的除錯訊息屬於必要的除錯訊息時,則表示該第一目標錯誤代碼具有對應的除錯訊息,即該處理模組3記錄或顯示第一目標錯誤代碼所對應的除錯訊息。
在步驟60中,該處理模組3經由該錯誤處理程序,將該顯示參數設定為不顯示除錯訊息。值得特別說明的是,在該實施例中,將該顯示參數設定為0即表示設定為不顯示除錯訊息。
在步驟61中,該處理模組3經由該錯誤處理程序,將該顯示參數設定為不顯示除錯訊息。
在步驟62中,當該第一目標錯誤代碼具有對應的除錯訊息時,該處理模組3經由該錯誤處理程序,根據所設定的該顯示參數,不將該第一目標錯誤代碼所對應的除錯訊息記錄或顯示於該顯示模組2。
在步驟63中,該處理模組3結束該錯誤處理程序,並回到步驟52。值得特別說明的是,於執行該錯誤處理程序時將該顯示參數設定為顯示除錯訊息的全部或部分(步驟55),且於該錯誤處理程序結束前將該顯示參數設定為不顯示除錯訊息(步驟60及61),以控制於該錯誤處理程序期間方能顯示對應的除錯訊息。
在步驟64中,該電腦裝置3將一指示出除錯訊息之顯示等級的顯示參數設定為顯示除錯訊息的全部或部分。特別地,在該實施例中,將該顯示參數設定為3。
在步驟65中,該電腦裝置3獲得一第二目標錯誤代碼。該第二目標錯誤代碼為該等錯誤代碼之其中一者。值得特別說明的是,該第二目標錯誤代碼即為該電腦裝置100於前一次執行該運行階段記錄程序時,所發生並導致該電腦裝置100重新啟動,而來不及記錄或顯示之不可復原的錯誤。
參閱圖6,值得特別說明的是,步驟65還進一步包含一子步驟651,以及一子步驟652。
在該子步驟651中,該電腦裝置3獲得由該系統暫存器所儲存的一第二數值。
在該子步驟652中,該電腦裝置3根據該第二數值,獲得該第二目標錯誤代碼。
在步驟66中,該電腦裝置3根據該重複錯誤代碼記錄表,判定該第二目標錯誤代碼所對應的除錯訊息的發生次數是否超過該預設次數。當該處理模組3判定出該第二目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,進行流程步驟67;當該處理模組3判定出該第二目標錯誤代碼所對應的除錯訊息的發生次數超過該預設次數時,進行流程步驟70。
在步驟67中,該處理模組3將該重複錯誤代碼記錄表中應於該第二目標錯誤代碼之發生次數加一。
在步驟68中,當該第二目標錯誤代碼具有對應的除錯訊息,該處理模組3根據所設定的該顯示參數,透過該通訊介面將該第二目標錯誤代碼所對應的除錯訊息的全部或部分顯示於該顯示模組2,或輸出後儲存於任一種儲存裝置以供技術研發人員參考。值得特別說明的是,若技術研發人員已將該第二目標錯誤代碼所對應的除錯訊息刪除,則表示該第二目標錯誤代碼不具有對應的除錯訊息,即該處理模組3不記錄或顯示任何除錯訊息;又或是,該處理模組3係根據該第二目標錯誤代碼所對應的旗標值,進而決定該第二目標錯誤代碼是否具有對應的除錯訊息,其中當該處理模組3判定出該第二目標錯誤代碼所對應的旗標值指示出該第二目標錯誤代碼所對應的除錯訊息屬於非必要的除錯訊息時,則表示該第二目標錯誤代碼不具有對應的除錯訊息,即該處理模組3不記錄或顯示任何除錯訊息,反之,當該處理模組3判定出該第二目標錯誤代碼所對應的旗標值指示出該第二目標錯誤代碼所對應的除錯訊息屬於必要的除錯訊息時,則表示該第二目標錯誤代碼具有對應的除錯訊息,即該處理模組3記錄或顯示第二目標錯誤代碼所對應的除錯訊息。
在步驟69中,該處理模組3將該顯示參數設定為不顯示除錯訊息。
在步驟70中,該處理模組3將該顯示參數設定為不顯示除錯訊息。
在步驟71中,當該第二目標錯誤代碼具有對應的除錯訊息時,該處理模組3根據所設定的該顯示參數,不將該第一目標錯誤代碼所對應的除錯訊息記錄或顯示於該顯示模組2。
在步驟72中,該處理模組3將該錯誤參數設定為指示出該電腦裝置100於前一次執行時並未發生不可復原的錯誤,並回到步驟52。
參閱圖7、8,該運行階段記錄程序係用於在該電腦裝置100處於完成開機後且執行作業系統時來記錄或顯示除錯訊息,並包含一步驟80、一步驟81、一步驟82、一步驟83、一步驟84、一步驟85、一步驟86、一步驟87、一步驟88、一步驟89、一步驟90,以及一步驟91。
在步驟80中,該處理模組3判定是否有接收到指示出該電腦裝置100具有錯誤的另一中斷訊號。當該處理模組3判定出沒有接收到該另一中斷訊號時,回到流程步驟80;當該處理模組3判定出有接收到該另一中斷訊號時,進行流程步驟81。值得特別說明的是,步驟80因處於完成開機後且執行作業系統,因此步驟80之該另一中斷訊號屬於系統控制中斷(SCI,System Control interrupt)。
在步驟81中,該處理模組3中斷當前所執行之一程序,執行該錯誤處理程序。值得特別說明的是,在該實施例中,該另一中斷訊號係用於指示出該電腦裝置100中之該系統暫存器儲存有一指示出錯誤代碼的第三數值。
在步驟82中,該處理模組3經由該錯誤處理程序,將該顯示參數設定為顯示除錯訊息的全部或部分。特別地,在該實施例中,將該顯示參數設定為3。
在步驟83中,該處理模組3經由該錯誤處理程序,獲得一第三目標錯誤代碼。該第三目標錯誤代碼為該等錯誤代碼之其中一者。
參閱圖9,值得特別說明的是,步驟83還進一步包含一子步驟831,以及一子步驟832。
在該子步驟831中,該處理模組3經由該錯誤處理程序,獲得該系統暫存器所儲存的該第三數值。
在該子步驟832中,該處理模組3經由該錯誤處理程序,根據該第三數值,獲得該第三目標錯誤代碼。
在步驟84中,該處理模組3經由該錯誤處理程序,判定該第三目標錯誤代碼所指示之錯誤是否為不可復原的錯誤。當該處理模組3判定出該第三目標錯誤代碼所指示之錯誤不為不可復原的錯誤時,進行流程步驟85;當該處理模組3判定出該第三目標錯誤代碼所指示之錯誤為不可復原的錯誤時,進行流程步驟91。
在步驟85中,該處理模組3經由該錯誤處理程序,根據該重複錯誤代碼記錄表,判定該第三目標錯誤代碼所對應的除錯訊息的發生次數是否超過該預設次數。當該處理模組3判定出該第三目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,進行流程步驟86;當該處理模組3判定出該第三目標錯誤代碼所對應的除錯訊息的發生次數超過該預設次數時,進行流程步驟89。
在步驟86中,該處理模組3經由該錯誤處理程序,將該重複錯誤代碼記錄表中應於該第三目標錯誤代碼之發生次數加一。
在步驟87中,當該第三目標錯誤代碼具有對應的除錯訊息時,該處理模組3經由該錯誤處理程序,根據所設定的該顯示參數,透過該通訊介面將該第三目標錯誤代碼所對應的除錯訊息的全部或部分顯示於該顯示模組2,或輸出後儲存於任一種儲存裝置以供技術研發人員參考。值得特別說明的是,若技術研發人員已將該第三目標錯誤代碼所對應的除錯訊息刪除,則表示該第三目標錯誤代碼不具有對應的除錯訊息,即該處理模組3不記錄或顯示任何除錯訊息;又或是,該處理模組3係根據該第三目標錯誤代碼所對應的旗標值,進而決定該第三目標錯誤代碼是否具有對應的除錯訊息,其中當該處理模組3判定出該第三目標錯誤代碼所對應的旗標值指示出該第三目標錯誤代碼所對應的除錯訊息屬於非必要的除錯訊息時,則表示該第三目標錯誤代碼不具有對應的除錯訊息,即該處理模組3不記錄或顯示任何除錯訊息,反之,當該處理模組3判定出該第三目標錯誤代碼所對應的旗標值指示出該第三目標錯誤代碼所對應的除錯訊息屬於必要的除錯訊息時,則表示該第三目標錯誤代碼具有對應的除錯訊息,即該處理模組3記錄或顯示第三目標錯誤代碼所對應的除錯訊息。
在步驟88中,該處理模組3經由該錯誤處理程序,將該顯示參數設定為不顯示除錯訊息,並回到步驟80。
在步驟89中,該處理模組3經由該錯誤處理程序,將該顯示參數設定為不顯示除錯訊息。
在步驟90中,當該第三目標錯誤代碼具有對應的除錯訊息時,該處理模組3經由該錯誤處理程序,根據所設定的該顯示參數,不將該第三目標錯誤代碼所對應的除錯訊息記錄或顯示於該顯示模組2,並回到步驟80。
在步驟91中,該處理模組3經由該錯誤處理程序,將該錯誤參數設定為指示出該電腦裝置100於前一次執行時有發生不可復原的錯誤。特別地,當該電腦裝置100於執行時有發生不可復原的錯誤時,該電腦裝置100當下便會自動重新啟動並執行該開機階段記錄程序,而來不及記錄或顯示該第三目標錯誤代碼(不可復原的錯誤)所對應的除錯訊息。接著,當該開機階段記錄程序中之步驟51判定出該電腦裝置100於前一次執行該運行階段記錄程序時有發生不可復原的錯誤時,該處理模組3便會於步驟65中將該子步驟831中所儲存該第三數值作為該子步驟651的該第二數值,並獲得該第二目標錯誤代碼(此時該第三目標錯誤代碼相同於該第二目標錯誤代碼),隨後,將電腦裝置100因為自動重新啟動而來不及記錄或顯示的該除錯訊息(該第二目標錯誤代碼所對應的該除錯訊息)透過該通訊介面輸出顯示於該顯示模組2,或輸出後儲存於任一種儲存裝置以供技術研發人員參考。
綜上所述,本發明應用於開機階段及開機後運行階段的除錯訊息紀錄方法,藉由該儲存模組1所儲存該等錯誤代碼及該等篩選過的除錯訊息,並配合該處理模組3執行該開機階段記錄程序及該運行階段記錄程序,分別於開機階段且尚未執行作業系統及於完成開機後且執行作業系統,且該顯示參數設定為顯示除錯訊息的全部或部分且發生次數未超過預設次數時,才將所對應的除錯訊息記錄,或顯示於該顯示模組2,進而達成在無需重新燒錄為第二種版本的基本輸入輸出系統(Debug Mode BIOS)的情況下,有效地控制記錄或顯示對於技術研發人員有效的必要除錯訊息的顯示期間以及顯示次數,同時縮減開機時間,以及減少技術研發人員去客戶端現場維修之人力浪費。因此,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
100:電腦裝置 1:儲存模組 11:第一儲存單元 12:第二儲存單元 2:顯示模組 3:處理模組 50~72:步驟 561、562:子步驟 651、652:子步驟 80~91:步驟 831、832:子步驟
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,說明一執行本發明應用於開機階段及開機後運行階段的除錯訊息紀錄方法的一實施例的一電腦裝置; 圖2是一流程圖,說明該實施例的一開機階段記錄程序之步驟50~步驟56; 圖3是一流程圖,說明該開機階段記錄程序之步驟57~步驟63; 圖4是一流程圖,說明該開機階段記錄程序之步驟64~步驟72; 圖5是一流程圖,說明該開機階段記錄程序如何獲得一第一目標錯誤代碼的細部流程; 圖6是一流程圖,說明該開機階段記錄程序如何獲得一第二目標錯誤代碼的細部流程; 圖7是一流程圖,說明該實施例的一運行階段記錄程序之步驟80~步驟84及步驟91; 圖8是一流程圖,說明該運行階段記錄程序之步驟85~步驟90;及 圖9是一流程圖,說明該運行階段記錄程序如何獲得一第三目標錯誤代碼的細部流程。
50~56:步驟

Claims (14)

  1. 一種應用於開機階段及開機後運行階段的除錯訊息紀錄方法,藉由一電腦裝置執行所儲存一基本輸入輸出系統之程式碼來實施,該基本輸入輸出系統之程式碼包含多個錯誤代碼及多個除錯訊息,每一除錯訊息對應該等錯誤代碼之其中一者,該電腦裝置還儲存有一用於指示出該電腦裝置於前一次執行時是否有發生不可復原之錯誤的錯誤參數,該應用於開機階段及開機後運行階段的除錯訊息紀錄方法包含以下步驟:(A)藉由該電腦裝置,根據該錯誤參數,判定該電腦裝置於前一次執行時是否有發生不可復原的錯誤;(B)當判定出該電腦裝置於前一次執行時沒有發生不可復原的錯誤時,藉由該電腦裝置,當接收到一指示出該電腦裝置具有錯誤的中斷訊號時,中斷當前所執行之一程序,執行一錯誤處理程序;(C)藉由該電腦裝置,經由該錯誤處理程序,獲得一第一目標錯誤代碼,該第一目標錯誤代碼為該等錯誤代碼之其中一者;(D)當該第一目標錯誤代碼具有對應的除錯訊息時,藉由該電腦裝置,經由該錯誤處理程序,記錄該第一目標錯誤代碼所對應的除錯訊息;及(E)當該第一目標錯誤代碼不具有對應的除錯訊息時,藉由該電腦裝置,經由該錯誤處理程序,不記錄任何除錯訊息。
  2. 如請求項1所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中,在步驟(B)之後還包含以下步驟:(F)藉由該電腦裝置,經由該錯誤處理程序,將一指示出除錯訊息之顯示等級的顯示參數設定為顯示除錯訊息的全部或部分;及其中,在步驟(D)中,當該第一目標錯誤代碼具有對應的除錯訊息時,藉由該電腦裝置,經由該錯誤處理程序,根據所設定的該顯示參數,記錄該第一目標錯誤代碼所對應的除錯訊息的全部或部分。
  3. 如請求項2所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,該電腦裝置還儲存有一重複錯誤代碼記錄表,該重複錯誤代碼記錄表包含該第一目標錯誤代碼所對應的一發生次數,其中,在步驟(D)之前,還包含以下步驟:(G)藉由該電腦裝置,經由該錯誤處理程序,根據該重複錯誤代碼記錄表,判定該第一目標錯誤代碼所對應的除錯訊息的發生次數是否超過一預設次數;(H)當該電腦裝置判定出該第一目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,藉由該電腦裝置,經由該錯誤處理程序,將該重複錯誤代碼記錄表中應於該第一目標錯誤代碼之發生次數加一;及其中,在步驟(D)中,當該第一目標錯誤代碼具有對應的除錯訊息,且判定出該第一目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,藉由該電腦裝 置,經由該錯誤處理程序,根據所設定的該顯示參數,記錄該第一目標錯誤代碼所對應的除錯訊息的全部或部分。
  4. 如請求項3所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,在步驟(G)之後,還包含以下步驟:(I)當該電腦裝置判定出該第一目標錯誤代碼所對應的除錯訊息的發生次數超過該預設次數時,藉由該電腦裝置,經由該錯誤處理程序,將該顯示參數設定為不顯示除錯訊息;及(J)當該第一目標錯誤代碼具有對應的除錯訊息,且判定出該第一目標錯誤代碼所對應的除錯訊息的發生次數超過該預設次數時根據該顯示參數,根據所設定的該顯示參數,不記錄該第一目標錯誤代碼所對應的除錯訊息。
  5. 如請求項3所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中,在步驟(D)之後,還包含以下步驟:(K)當該第一目標錯誤代碼具有對應的除錯訊息,且判定出該第一目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,藉由該電腦裝置,在根據所設定的該顯示參數,記錄該第一目標錯誤代碼所對應的除錯訊息的全部或部分後,經由該錯誤處理程序,將該顯示參數設定為不顯示除錯訊息。
  6. 如請求項1所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中,在步驟(A)之後,還包含以下步驟: (L)當判定出該電腦裝置於前一次執行時有發生不可復原的錯誤時,藉由該電腦裝置,獲得一第二目標錯誤代碼,該第二目標錯誤代碼為該等錯誤代碼之其中一者;(M)當該第二目標錯誤代碼具有對應的除錯訊息時,藉由該電腦裝置,記錄該第二目標錯誤代碼所對應的除錯訊息;及(N)藉由該電腦裝置,將該錯誤參數設定為指示出該電腦裝置於前一次執行時並未發生不可復原的錯誤。
  7. 如請求項6所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,該電腦裝置還儲存有一重複錯誤代碼記錄表,該重複錯誤代碼記錄表包含該第二目標錯誤代碼所對應的一發生次數,其中,在步驟(M)之前,還包含以下步驟:(O)藉由該電腦裝置,根據該重複錯誤代碼記錄表,判定該第二目標錯誤代碼所對應的除錯訊息的發生次數是否超過一預設次數;(P)當該電腦裝置判定出該第二目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,藉由該電腦裝置將該重複錯誤代碼記錄表中應於該第二目標錯誤代碼之發生次數加一;及其中,在步驟(M)中,當該第二目標錯誤代碼具有對應的除錯訊息,且判定出該第二目標錯誤代碼所對應的除錯訊息的發生次數未超過該預設次數時,藉由該電腦裝置,記錄該第二目標錯誤代碼所對應的除錯訊息。
  8. 如請求項7所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中,在步驟(O)之後,還包含以下步驟:(Q)當該第二目標錯誤代碼具有對應的除錯訊息,但判定出該第二目標錯誤代碼所對應的除錯訊息的發生次數超過該預設次數時,藉由該電腦裝置,不記錄該第二目標錯誤代碼所對應的除錯訊息。
  9. 如請求項6所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中,步驟(L)包含以下步驟:(L-1)當判定出該電腦裝置於前一次執行時有發生不可復原的錯誤時,藉由該電腦裝置,將一指示出除錯訊息之顯示等級的顯示參數設定為顯示除錯訊息的全部或部分;(L-2)藉由該電腦裝置,獲得該第二目標錯誤代碼;其中,在步驟(M)中,當該第二目標錯誤代碼具有對應的除錯訊息時,藉由該電腦裝置,根據所設定的該顯示參數,記錄該第二目標錯誤代碼所對應的除錯訊息的全部或部分;及其中,在步驟(M)之後,還包含以下步驟:(R)藉由該電腦裝置,在記錄該第二目標錯誤代碼所對應的除錯訊息的全部或部分後,將該顯示參數設定為不顯示除錯訊息。
  10. 如請求項1所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中, 在步驟(B)中,該中斷訊號係用於指示出該電腦裝置中之一系統暫存器儲存有一指示出錯誤代碼的第一數值;其中,步驟(C)包含以下步驟:(C-1)藉由該電腦裝置,經由該錯誤處理程序,獲得該系統暫存器所儲存的該第一數值;及(C-2)藉由該電腦裝置,經由該錯誤處理程序,根據該第一數值,獲得該第一目標錯誤代碼。
  11. 如請求項6所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中,步驟(L)包含以下步驟:(L-1)當判定出該電腦裝置於前一次執行時有發生不可復原的錯誤時,藉由該電腦裝置,獲得由一系統暫存器所儲存的一第二數值;及(L-2)藉由該電腦裝置,根據該第二數值,獲得該第二目標錯誤代碼。
  12. 如請求項1所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,該電腦裝置還儲存有一用於指示出該電腦裝置於前一次執行時是否有發生不可復原之錯誤的錯誤參數,在步驟(C)之後,還包含以下步驟:(S)藉由該電腦裝置,經由該錯誤處理程序,判定該第一目標錯誤代碼所指示之錯誤是否為不可復原的錯誤;及(T)當判定出該第一目標錯誤代碼所指示之錯誤為不可復原的錯誤時,藉由該電腦裝置,經由該錯誤處理程序,將該錯誤參數設定為指示出該電腦裝置於前一次執行 時有發生不可復原的錯誤。
  13. 如請求項12所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,在步驟(T)之後,還包含以下步驟:(U)藉由該電腦裝置,進行重新啟動。
  14. 如請求項1所述的應用於開機階段及開機後運行階段的除錯訊息紀錄方法,其中,該基本輸入輸出系統之程式碼還包含多個非必要除錯訊息,每一非必要除錯訊息對應該等錯誤代碼之其中一者,每一錯誤代碼還對應有一指示出該錯誤代碼係對應除錯訊息或非必要除錯訊息的旗標值,在步驟(D)之前,還包含以下步驟:(V)藉由該電腦裝置,根據該第一目標錯誤代碼所對應的該旗標值,判定該第一目標錯誤代碼是否具有對應的除錯訊息。
TW108123904A 2019-07-08 2019-07-08 應用於開機階段及開機後運行階段的除錯訊息紀錄方法 TWI709082B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108123904A TWI709082B (zh) 2019-07-08 2019-07-08 應用於開機階段及開機後運行階段的除錯訊息紀錄方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108123904A TWI709082B (zh) 2019-07-08 2019-07-08 應用於開機階段及開機後運行階段的除錯訊息紀錄方法

Publications (2)

Publication Number Publication Date
TWI709082B true TWI709082B (zh) 2020-11-01
TW202102998A TW202102998A (zh) 2021-01-16

Family

ID=74202242

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108123904A TWI709082B (zh) 2019-07-08 2019-07-08 應用於開機階段及開機後運行階段的除錯訊息紀錄方法

Country Status (1)

Country Link
TW (1) TWI709082B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201243576A (en) * 2011-04-27 2012-11-01 Wistron Corp Debugging method and computer system using the same
WO2015196365A1 (zh) * 2014-06-24 2015-12-30 华为技术有限公司 一种故障处理方法、相关装置及计算机
WO2018103185A1 (zh) * 2016-12-05 2018-06-14 华为技术有限公司 故障处理的方法、计算机系统、基板管理控制器和系统
TW201821990A (zh) * 2016-12-14 2018-06-16 英業達股份有限公司 電腦系統及檢測方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201243576A (en) * 2011-04-27 2012-11-01 Wistron Corp Debugging method and computer system using the same
WO2015196365A1 (zh) * 2014-06-24 2015-12-30 华为技术有限公司 一种故障处理方法、相关装置及计算机
WO2018103185A1 (zh) * 2016-12-05 2018-06-14 华为技术有限公司 故障处理的方法、计算机系统、基板管理控制器和系统
TW201821990A (zh) * 2016-12-14 2018-06-16 英業達股份有限公司 電腦系統及檢測方法

Also Published As

Publication number Publication date
TW202102998A (zh) 2021-01-16

Similar Documents

Publication Publication Date Title
US10139876B2 (en) Efficient reboot of an operating system executed in a virtual machine
US7908521B2 (en) Process reflection
US20040153724A1 (en) Operating system update and boot failure recovery
US20100205582A1 (en) Automated multi-operating system testing with virtualization
US20030070115A1 (en) Logging and retrieving pre-boot error information
US6463531B1 (en) Method and system for monitoring a boot process of a data processing system providing boot data and user prompt
US20060168576A1 (en) Method of updating a computer system to a qualified state prior to installation of an operating system
US10860454B2 (en) Analyzing large-scale data processing jobs
TW201419156A (zh) 擷取輕型虛擬機器管理員中錯誤條件的方法、系統及設備
JP2010086364A (ja) 情報処理装置、動作状態監視装置および方法
US10514972B2 (en) Embedding forensic and triage data in memory dumps
US10586048B2 (en) Efficient reboot of an operating system
TW200809489A (en) BIOS damage detection and repair method and the motherboard
TWI518680B (zh) 維護電腦系統之檔案系統的方法
US20030046524A1 (en) Method for dynamically designating initialization modules as recovery code
TWI709082B (zh) 應用於開機階段及開機後運行階段的除錯訊息紀錄方法
JP2007226287A (ja) システム環境再現方法およびシステム環境修正方法
CN112346786B (zh) 应用于开机阶段及开机后运行阶段的除错信息纪录方法
GB2457562A (en) Hardware password alignment
CN113655846A (zh) 一种OpenPOWER服务器时间同步方法及系统
JP2001331342A (ja) 情報処理装置のエラー表示方法、及びそのプログラムを記録した記録媒体
CN109032880B (zh) 一种协同bios自检的硬件调测方法及装置
US10216525B1 (en) Virtual disk carousel
WO2020113469A1 (zh) 开机检测方法、开机检测装置及移动终端
TWI715005B (zh) 用於監控基板管理控制器之常駐程序的方法