專利名稱:可對停機(jī)的計(jì)算機(jī)進(jìn)行除錯(cuò)的計(jì)算機(jī)除錯(cuò)系統(tǒng)的制作方法
的計(jì)算機(jī)除錯(cuò)系統(tǒng)本發(fā)明涉及一種計(jì)算機(jī)除錯(cuò)系統(tǒng),特別涉及一種可對一停機(jī)的計(jì)算機(jī)進(jìn)行除錯(cuò)的計(jì)算機(jī)除錯(cuò)系統(tǒng)。
當(dāng)使用者利用一計(jì)算機(jī)來執(zhí)行一程序時(shí),如果該程序有錯(cuò)誤(bugs),就會(huì)使得該計(jì)算機(jī)進(jìn)入停機(jī)的狀態(tài)。而使用者必須重新開機(jī),以對該程序進(jìn)行除錯(cuò)(debug)。在除錯(cuò)的過程中,使用者會(huì)常常進(jìn)行測試,以確認(rèn)該錯(cuò)誤是否已經(jīng)解決。如果該錯(cuò)誤并未解決,而讓該計(jì)算機(jī)執(zhí)行該程序,計(jì)算機(jī)則又會(huì)進(jìn)入停機(jī)狀態(tài)。因此,使用者又必須重新開機(jī)。由于在重新開機(jī)的過程中,該計(jì)算機(jī)在關(guān)機(jī)前未進(jìn)行存儲(chǔ)的狀態(tài)數(shù)據(jù)會(huì)全部消失,因此在重新開機(jī)之后,使用者必須重新進(jìn)行除錯(cuò)的工作,而無法接續(xù)在該計(jì)算機(jī)關(guān)機(jī)前的除錯(cuò)工作。
由于每次計(jì)算機(jī)發(fā)生停機(jī)時(shí),使用者都必須進(jìn)行重新開機(jī),而且每一次重新開機(jī)之后,該使用者都必須重新進(jìn)行除錯(cuò)的工作。因此,消費(fèi)了許多時(shí)間,使得計(jì)算機(jī)程序的除錯(cuò)工作非常沒有效率。
因此,本發(fā)明的主要目的在于提供一種可以對一停機(jī)的計(jì)算機(jī)進(jìn)行除錯(cuò)的計(jì)算機(jī)除錯(cuò)系統(tǒng),使得計(jì)算機(jī)程序的除錯(cuò)工作非常有效率。
為達(dá)到所述目的,本發(fā)明提供一種計(jì)算機(jī)除錯(cuò)系統(tǒng),其包含有一第一計(jì)算機(jī),該第一計(jì)算機(jī)包括有一存儲(chǔ)器,用于存儲(chǔ)一目標(biāo)程序以及一中斷指令服務(wù)程序;一處理器,用來執(zhí)行該存儲(chǔ)器內(nèi)的程序;以及一按鍵開關(guān),電連接到該處理器,用來產(chǎn)生一預(yù)定的中斷指令;以及一第二計(jì)算機(jī),電連接到該第一計(jì)算機(jī),其內(nèi)存有一除錯(cuò)程序用來對該第一計(jì)算機(jī)除錯(cuò);其中當(dāng)該第一計(jì)算機(jī)的處理器在執(zhí)行該目標(biāo)程序并因而進(jìn)入一停機(jī)狀態(tài)時(shí),若該按鍵開關(guān)被一使用者按動(dòng),則該按鍵開關(guān)所產(chǎn)生的該預(yù)定的中斷指令會(huì)使該處理器開始執(zhí)行該中斷指令服務(wù)程序,而該中斷指令服務(wù)程序則會(huì)建立與該第二計(jì)算機(jī)除錯(cuò)程序的連線以使該除錯(cuò)程序得以對該第一計(jì)算機(jī)進(jìn)行除錯(cuò)。
為了更進(jìn)一步的理解本發(fā)明的目的,特點(diǎn)和優(yōu)點(diǎn),下面結(jié)合附圖對優(yōu)選
圖1為本發(fā)明計(jì)算機(jī)除錯(cuò)系統(tǒng)的方框圖。
參照圖1。圖1為本發(fā)明計(jì)算機(jī)除錯(cuò)系統(tǒng)10的方框圖。計(jì)算機(jī)除錯(cuò)系統(tǒng)10包含有一第一計(jì)算機(jī)12,以及一第二計(jì)算機(jī)14。第一計(jì)算機(jī)12包含有一存儲(chǔ)器16,用于存儲(chǔ)一待除錯(cuò)的目標(biāo)程序18以及一中斷指令服務(wù)程序20,一處理器22用來執(zhí)行存儲(chǔ)器16內(nèi)的程序,其包含有多個(gè)暫存器24,用來存儲(chǔ)處理器22所執(zhí)行的程序的狀態(tài)數(shù)據(jù),以及一按鍵開關(guān)26,電連接到處理器22,用來產(chǎn)生一預(yù)定的中斷指令。第二計(jì)算機(jī)14是電連接到第一計(jì)算機(jī)12,第二計(jì)算機(jī)14內(nèi)存有一除錯(cuò)程序28用來對第一計(jì)算機(jī)12進(jìn)行除錯(cuò)。當(dāng)?shù)谝挥?jì)算機(jī)12的處理器22在執(zhí)行目標(biāo)程序18并因而進(jìn)入一停機(jī)狀態(tài)時(shí),若按鍵開關(guān)26被一使用者按動(dòng),則按鍵開關(guān)26所產(chǎn)生的預(yù)定的中斷指令會(huì)使處理器22開始執(zhí)行中斷指令服務(wù)程序20,而中斷指令服務(wù)程序20則會(huì)建立與第二計(jì)算機(jī)除錯(cuò)程序28的連線以使除錯(cuò)程序28得以對第一計(jì)算機(jī)12進(jìn)行除錯(cuò)。
由于現(xiàn)在一般計(jì)算機(jī)的外殼上都提供有可啟動(dòng)省電功能的按鍵開關(guān),利用此按鍵開關(guān)可發(fā)出一系統(tǒng)管理中斷指令(System Management Interrupt,SMI)至處理器中暫時(shí)中斷目前所執(zhí)行的程序,因此本發(fā)明是利用這種現(xiàn)成可由使用者啟動(dòng)而產(chǎn)生中斷指令的方式,在第一計(jì)算機(jī)12發(fā)生停機(jī)時(shí)可由使用者加以啟動(dòng)SMI中斷指令而進(jìn)行后續(xù)的除錯(cuò)工作。而為使第一計(jì)算機(jī)12停機(jī)時(shí)仍能中斷目前所執(zhí)行的程序,可利用執(zhí)行某些啟動(dòng)SMI中斷指令的程序來加以完成。
為了使得第一計(jì)算機(jī)12發(fā)生停機(jī)時(shí),第二計(jì)算機(jī)14可對第一計(jì)算機(jī)12進(jìn)行除錯(cuò),在執(zhí)行待除錯(cuò)的目標(biāo)程序18之前,必須先將第一計(jì)算機(jī)12和第二計(jì)算機(jī)14以一條傳輸線13加以連接,確保按鍵開關(guān)26所產(chǎn)生的SMI中斷指令在第一計(jì)算機(jī)停機(jī)時(shí)能中斷目前所執(zhí)行的程序,并且在第一計(jì)算機(jī)12與第二計(jì)算機(jī)14上執(zhí)行可建立數(shù)據(jù)傳輸?shù)某绦蚺c除錯(cuò)程序28。當(dāng)?shù)谝挥?jì)算機(jī)12的處理器22在執(zhí)行目標(biāo)程序18時(shí),如果因目標(biāo)程序18的錯(cuò)誤而進(jìn)入停機(jī)狀態(tài)時(shí),使用者可以按動(dòng)按鍵開關(guān)26,使得第二計(jì)算機(jī)14可以對停機(jī)的第一計(jì)算機(jī)12進(jìn)行除錯(cuò)。
當(dāng)按鍵開關(guān)26被按動(dòng)時(shí),按鍵開關(guān)26所產(chǎn)生的預(yù)定的中斷指令會(huì)使得處理器22開始執(zhí)行中斷指令服務(wù)程序20,并且將多個(gè)暫存器24內(nèi)的狀態(tài)數(shù)據(jù)存入第一計(jì)算機(jī)12的存儲(chǔ)器16。而中斷指令服務(wù)程序20會(huì)建立第一計(jì)算機(jī)12與第二計(jì)算機(jī)14的除錯(cuò)程序28之間的連線,使得第二計(jì)算機(jī)14的除錯(cuò)程序28可以存取第一計(jì)算機(jī)12的存儲(chǔ)器16內(nèi)所存儲(chǔ)的狀態(tài)數(shù)據(jù),因此該使用者可以利用該除錯(cuò)程序28來對第一計(jì)算機(jī)12進(jìn)行除錯(cuò)。
當(dāng)使用者利用第一計(jì)算機(jī)12來執(zhí)行目標(biāo)程序18時(shí),如果目標(biāo)程序18有錯(cuò)誤(bugs),就會(huì)使得第一計(jì)算機(jī)進(jìn)入停機(jī)的狀態(tài)。此時(shí),使用者可以按動(dòng)按鍵開關(guān)26,使得第二計(jì)算機(jī)14可以對停機(jī)的第一計(jì)算機(jī)12進(jìn)行除錯(cuò)。在除錯(cuò)的過程中,使用者會(huì)常常進(jìn)行測試,以確認(rèn)錯(cuò)誤是否已經(jīng)解決。如果錯(cuò)誤并未解決,而讓第一計(jì)算機(jī)12執(zhí)行目標(biāo)程序18,第一計(jì)算機(jī)12則又會(huì)進(jìn)入停機(jī)狀態(tài)。此時(shí),使用者可以再次按動(dòng)按鍵開關(guān)26,使得第二計(jì)算機(jī)14可以對停機(jī)的第一計(jì)算機(jī)12繼續(xù)進(jìn)行除錯(cuò)。由于第一計(jì)算機(jī)沒有被重新開機(jī),而且當(dāng)按鍵開關(guān)26被按動(dòng)時(shí),按鍵開關(guān)26所產(chǎn)生的預(yù)定的中斷指令會(huì)將多個(gè)暫存器24內(nèi)的狀態(tài)數(shù)據(jù)存入第一計(jì)算機(jī)12的存儲(chǔ)器16,因此第一計(jì)算機(jī)12的狀態(tài)數(shù)據(jù)不會(huì)消失。因此,第二計(jì)算機(jī)14的除錯(cuò)程序28可以存取第一計(jì)算機(jī)12的存儲(chǔ)器16內(nèi)所存儲(chǔ)的狀態(tài)數(shù)據(jù)來對第一計(jì)算機(jī)12進(jìn)行除錯(cuò),以接續(xù)在第一計(jì)算機(jī)12停機(jī)之前的除錯(cuò)工作。
本發(fā)明計(jì)算機(jī)除錯(cuò)系統(tǒng)10包含有存有待除錯(cuò)的目標(biāo)程序18的第一計(jì)算機(jī)12,以及存有除錯(cuò)程序28的第二計(jì)算機(jī)14。當(dāng)?shù)谝挥?jì)算機(jī)12發(fā)生停機(jī)時(shí),第二計(jì)算機(jī)14可以對第一計(jì)算機(jī)12進(jìn)行除錯(cuò)的工作。因此使用者無須對第一計(jì)算機(jī)12進(jìn)行重新開機(jī),而且使用者可以持續(xù)進(jìn)行除錯(cuò)的工作,不會(huì)因?yàn)榈谝挥?jì)算機(jī)12的停機(jī)而中斷工作,使得計(jì)算機(jī)程序的除錯(cuò)工作非常具有效率。
以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明權(quán)利要求所做的等同變化與修飾,皆應(yīng)屬于本發(fā)明權(quán)利要求的涵蓋范圍。
權(quán)利要求
1.一種計(jì)算機(jī)除錯(cuò)系統(tǒng),其包含有一第一計(jì)算機(jī),該第一計(jì)算機(jī)包括有一存儲(chǔ)器,用于存儲(chǔ)一目標(biāo)程序以及一中斷指令服務(wù)程序;一處理器,用來執(zhí)行該存儲(chǔ)器內(nèi)的程序;以及一按鍵開關(guān),電連接到該處理器,用來產(chǎn)生一預(yù)定的中斷指令;以及一第二計(jì)算機(jī),電連接到該第一計(jì)算機(jī),其內(nèi)存有一除錯(cuò)程序用來對該第一計(jì)算機(jī)除錯(cuò);其中當(dāng)該第一計(jì)算機(jī)的處理器在執(zhí)行該目標(biāo)程序并因而進(jìn)入一停機(jī)狀態(tài)時(shí),若該按鍵開關(guān)被一使用者按動(dòng),則該按鍵開關(guān)所產(chǎn)生的該預(yù)定的中斷指令會(huì)使該處理器開始執(zhí)行該中斷指令服務(wù)程序,而該中斷指令服務(wù)程序則會(huì)建立與該第二計(jì)算機(jī)除錯(cuò)程序的連線以使該除錯(cuò)程序得以對該第一計(jì)算機(jī)進(jìn)行除錯(cuò)。
2.如權(quán)利要求1的計(jì)算機(jī)除錯(cuò)系統(tǒng),其中該第二計(jì)算機(jī)的除錯(cuò)程序是由該第一計(jì)算機(jī)的中斷指令服務(wù)程序來對該第一計(jì)算機(jī)進(jìn)行除錯(cuò)。
3.如權(quán)利要求1的計(jì)算機(jī)除錯(cuò)系統(tǒng),其中該預(yù)定的中斷指令為一系統(tǒng)管理中斷指令。
4.如權(quán)利要求1的計(jì)算機(jī)除錯(cuò)系統(tǒng),其中該處理器包含有多個(gè)暫存器,用來存儲(chǔ)該處理器所執(zhí)行的程序的狀態(tài)數(shù)據(jù),而當(dāng)該按鍵開關(guān)被按動(dòng)時(shí),則該預(yù)定的中斷指令會(huì)使該處理器將該多個(gè)暫存器內(nèi)的狀態(tài)數(shù)據(jù)存入該第一計(jì)算機(jī)的存儲(chǔ)器,而該第二計(jì)算機(jī)的除錯(cuò)程序則可存取該第一計(jì)算機(jī)存儲(chǔ)器內(nèi)的所存儲(chǔ)的該狀態(tài)數(shù)據(jù)以使一使用者得以利用該除錯(cuò)程序?qū)υ摰谝挥?jì)算機(jī)進(jìn)行除錯(cuò)。
全文摘要
一種計(jì)算機(jī)除錯(cuò)系統(tǒng),含第一計(jì)算機(jī)及第二計(jì)算機(jī)。第一計(jì)算機(jī)含存儲(chǔ)器,存儲(chǔ)目標(biāo)程序及中斷指令服務(wù)程序,處理器,執(zhí)行存儲(chǔ)器內(nèi)程序,按鍵開關(guān)接處理器;產(chǎn)生預(yù)定中斷指令。第二計(jì)算機(jī)接第一計(jì)算機(jī),內(nèi)存除錯(cuò)程序?qū)Φ谝挥?jì)算機(jī)進(jìn)行除錯(cuò)。第一計(jì)算機(jī)的處理器執(zhí)行目標(biāo)程序并因錯(cuò)誤而停機(jī)時(shí),若按動(dòng)按鍵開關(guān),則產(chǎn)生的預(yù)定中斷指令使處理器執(zhí)行中斷指令服務(wù)程序;中斷指令服務(wù)程序則建立與第二計(jì)算機(jī)除錯(cuò)程序的連線;使除錯(cuò)程序?qū)Φ谝挥?jì)算機(jī)除錯(cuò)。
文檔編號(hào)G06F11/28GK1279427SQ9910854
公開日2001年1月10日 申請日期1999年6月29日 優(yōu)先權(quán)日1999年6月29日
發(fā)明者闕壯全 申請人:神達(dá)電腦股份有限公司