亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

嵌入式軟件輔助調(diào)試方法

文檔序號:6416885閱讀:487來源:國知局
專利名稱:嵌入式軟件輔助調(diào)試方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù),具體地說,涉及嵌入式軟件的調(diào)試技術(shù)。
隨著微處理機(jī)在通訊產(chǎn)品,醫(yī)療設(shè)備和信息家電等領(lǐng)域越來越廣泛的應(yīng)用,與之相對應(yīng)嵌入式軟件的功能也日益復(fù)雜,規(guī)模逐漸變得龐大。這樣在嵌入式軟件的發(fā)展過程中就不得不面對一個(gè)嚴(yán)峻的問題即軟件的質(zhì)量問題。但嵌入式軟件的開發(fā)調(diào)試過程有相當(dāng)?shù)碾y度,這是由其特點(diǎn)所決定的嵌入式軟件一般在嵌入式操作系統(tǒng)上運(yùn)行,其操作系統(tǒng)平臺與應(yīng)用程序一般合在一起構(gòu)成整個(gè)嵌入式軟件。它的硬件運(yùn)行平臺常常是某些專用處理器芯片,因此嵌入式軟件的開發(fā)調(diào)試一般都需要專門的硬件或軟件工具支持,但其支持僅限于開發(fā)階段,且需要編譯器生成專門的調(diào)試版本。等系統(tǒng)調(diào)試結(jié)束,生成運(yùn)行版本,脫離調(diào)試環(huán)境運(yùn)行后,這些工具就無能為力了。
嵌入式系統(tǒng)一般需要長時(shí)間可靠的工作,而調(diào)試階段又不能發(fā)現(xiàn)所有的錯(cuò)誤,這樣在嵌入式系統(tǒng)的工作過程中可能會(huì)有故障隨機(jī)發(fā)生,而故障發(fā)生后,又缺乏對故障現(xiàn)場分析調(diào)試的有效手段,往往很難撲捉住故障并進(jìn)行故障定位。給嵌入式軟件的質(zhì)量提高帶來了困難。
本發(fā)明的目的就是針對現(xiàn)有技術(shù)的上述缺點(diǎn),提出一種比較通用的嵌入式軟件運(yùn)行版本的輔助調(diào)試方法,它在一定程度上克服了目前的各種商用調(diào)試手段主要針對調(diào)試版本的弱點(diǎn),在嵌入式系統(tǒng)的實(shí)際運(yùn)行階段可以提供調(diào)試手段,通過該工具可以輸出嵌入式軟件在運(yùn)行中發(fā)生的故障信息,并能夠?qū)收犀F(xiàn)場做進(jìn)一步的分析,以找到故障的原因,從而使嵌入式軟件的質(zhì)量得到進(jìn)一步的提高,該方法是對各種商用調(diào)試手段的重要補(bǔ)充。
為了實(shí)現(xiàn)本發(fā)明目的,采用以下技術(shù)方案首先由預(yù)編譯模塊對編譯時(shí)生成的符號表文件進(jìn)行掃描分析,生成調(diào)試信息文件,存放于調(diào)試主機(jī);嵌入式系統(tǒng)中的調(diào)試代理模塊在運(yùn)行時(shí)記錄故障信息,當(dāng)對故障現(xiàn)場進(jìn)行分析時(shí),通過嵌入式系統(tǒng)的通訊口連接調(diào)試主機(jī),故障信息經(jīng)通訊鏈路送至調(diào)試主機(jī)的調(diào)試接口模塊,并由調(diào)試接口模塊顯示;調(diào)試接口模塊還負(fù)責(zé)接收調(diào)試命令,經(jīng)調(diào)試信息文件解釋后再送至調(diào)試代理模塊,調(diào)試代理模塊將相應(yīng)信息返回調(diào)試接口模塊顯示。
所述的預(yù)編譯模塊是這樣對符號表文件進(jìn)行掃描分析的所述的符號表文件是在運(yùn)行版本編譯時(shí)生成的,經(jīng)預(yù)編譯模塊處理后生成的調(diào)試信息文件包含以下信息全局變量名,靜態(tài)變量名的字符串表示,各變量在內(nèi)存中的起始物理地址,以及兩者之間的對應(yīng)關(guān)系。該調(diào)試信息文件僅存在于調(diào)試主機(jī)上,不占用嵌入式系統(tǒng)的存儲空間。
所述的調(diào)試代理模塊存在于嵌入式系統(tǒng)中,它負(fù)責(zé)以下功能通訊接口的驅(qū)動(dòng);接收調(diào)試接口模塊發(fā)送來的調(diào)試命令并將相應(yīng)的信息返回調(diào)試接口模塊;提供對應(yīng)用程序的故障信息輸出接口,在已連接調(diào)試接口模塊的情況下,將故障信息發(fā)送給調(diào)試接口模塊。調(diào)試代理模塊的存在不影響系統(tǒng)的正常運(yùn)行。
所述的調(diào)試接口模塊存在于調(diào)試主機(jī)上,調(diào)試接口模塊一方面接收用戶的調(diào)試命令,一方面處理調(diào)試代理模塊返回的調(diào)試信息。
當(dāng)調(diào)試接口模塊接收到命令后,根據(jù)消息的來源判定是來自用戶的調(diào)試命令還是調(diào)試代理模塊返回的調(diào)試信息,若為調(diào)試代理模塊返回的調(diào)試信息,則對其中的控制符進(jìn)行解釋,并輸出到磁盤或顯示器;若為用戶的調(diào)試命令,則首先由命令中給出的變量名為關(guān)鍵字,在調(diào)試信息文件中找到該變量的物理地址,并判斷是對故障現(xiàn)場的查詢命令還是修改命令;然后給嵌入式系統(tǒng)中的調(diào)試代理模塊發(fā)送相應(yīng)的命令,指示其返回指定地址的數(shù)值或?qū)⑵湫薷臑槟持?,最后等待調(diào)試代理模塊返回信息并顯示。
應(yīng)用本發(fā)明提供的嵌入式軟件輔助調(diào)試方法,可以有效地監(jiān)測記錄嵌入式軟件在運(yùn)行時(shí)的故障信息。當(dāng)故障發(fā)生時(shí),可以對故障現(xiàn)場進(jìn)行查詢修改,給故障的分析定位提供了有力的支持。本發(fā)明提供的方法,并不局限于某一產(chǎn)品,也不受運(yùn)行平臺的限制,是一個(gè)比較通用的調(diào)試方法,可以大大提高嵌入式系統(tǒng)的可調(diào)試性,改善調(diào)試效率和程序質(zhì)量,并可大大降低在嵌入式軟件調(diào)試方面的開銷。
下面通過具體的實(shí)施例并結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)地描述。


圖1是利用本發(fā)明方法進(jìn)行工作的框圖;圖2是調(diào)試接口模塊的工作流程。
在圖1中,描述了本輔助調(diào)試方法的工作過程應(yīng)用程序模塊1和調(diào)試代理模塊2運(yùn)行于嵌入式系統(tǒng)上,調(diào)試接口模塊6運(yùn)行于調(diào)試主機(jī)上;符號表文件3是對應(yīng)用程序進(jìn)行編譯連接時(shí)產(chǎn)生的。在調(diào)試前,預(yù)編譯模塊4將對符號表文件3進(jìn)行預(yù)處理,得到調(diào)試信息文件5,預(yù)編譯模塊4、調(diào)試信息文件5與調(diào)試接口模塊6共存于調(diào)試主機(jī)上。當(dāng)嵌入式系統(tǒng)在運(yùn)行中出現(xiàn)故障時(shí),用嵌入式系統(tǒng)提供的通訊鏈路連接嵌入式系統(tǒng)和調(diào)試主機(jī),并運(yùn)行調(diào)試主機(jī)上的調(diào)試接口模塊6,這時(shí)就可以通過一系列的調(diào)試命令對嵌入式系統(tǒng)中的故障現(xiàn)場進(jìn)行觀察修改,以定位故障原因。
在圖2中,詳細(xì)地描述了調(diào)試接口模塊的工作流程調(diào)試接口模塊一方面接收用戶的調(diào)試命令,一方面處理調(diào)試代理模塊返回的調(diào)試信息。
若調(diào)試接口模塊接收到調(diào)試代理模塊送來的調(diào)試信息,則對其中的控制符進(jìn)行解釋,根據(jù)控制符的類型確定調(diào)試信息的顯示方向顯示器或磁盤,并顯示;接收到用戶的調(diào)試命令后進(jìn)行分析,若為故障現(xiàn)場的查詢命令,則根據(jù)命令參數(shù)中的變量名,從調(diào)試信息文件中查詢到相應(yīng)變量的起始物理地址,然后將該地址隨查詢命令一起發(fā)送至調(diào)試代理模塊,等待調(diào)試代理模塊返回信息,對其中的控制符進(jìn)行解釋,根據(jù)控制符的類型確定調(diào)試命令的顯示方向顯示器或磁盤,并顯示;若為故障現(xiàn)場的修改命令,則根據(jù)命令參數(shù)中的變量名,從調(diào)試信息文件中查詢到相應(yīng)變量的起始物理地址,然后將該地址和修改后的新值隨查詢命令一起發(fā)送至調(diào)試代理模塊,等待調(diào)試代理模塊返回信息,對其中的控制符進(jìn)行解釋,根據(jù)控制符的類型確定修改命令的顯示方向顯示器或磁盤,并顯示;
在某嵌入式系統(tǒng)中,采用了AMD公司的186處理器,提供了一個(gè)內(nèi)部串口,編譯器采用了BORLAND公司的BC31。在該系統(tǒng)中,調(diào)試代理模塊作為一個(gè)獨(dú)立的模塊加入MAKEFILE文件(MAKEFILE是編譯連接控制文件,用來控制將哪些模塊以何種方式編譯連接在一起),并在其連接部分加入/s控制參數(shù)(是連接時(shí)的一個(gè)控制選項(xiàng),該選項(xiàng)作用是連接時(shí)產(chǎn)生詳細(xì)符號表),以產(chǎn)生詳細(xì)符號表,然后與應(yīng)用程序部分在一起編譯連接后運(yùn)行。預(yù)編譯模塊為一在調(diào)試主機(jī)上獨(dú)立運(yùn)行的可執(zhí)行程序,運(yùn)行后它對編譯后產(chǎn)生的符號表進(jìn)行分析,得到調(diào)試信息文件,將該文件存放于調(diào)試主機(jī)。調(diào)試接口部分也為一在調(diào)試主機(jī)上獨(dú)立運(yùn)行的可執(zhí)行程序。應(yīng)用本發(fā)明提供的方法時(shí)將186處理器的串口與調(diào)試主機(jī)的串口相連,運(yùn)行調(diào)試接口程序,就可以對嵌入式系統(tǒng)上的故障信息進(jìn)行觀察、修改,而不影響應(yīng)用系統(tǒng)本身的運(yùn)行。
權(quán)利要求
1.一種嵌入式軟件輔助調(diào)試方法,包括以下步驟1)預(yù)編譯模塊(4)對編譯時(shí)生成的符號表文件(3)進(jìn)行掃描分析,生成調(diào)試信息文件(5),存放于調(diào)試主機(jī);2)嵌入式系統(tǒng)中的調(diào)試代理模塊(2)在運(yùn)行時(shí)記錄故障信息,當(dāng)對故障現(xiàn)場進(jìn)行分析時(shí),通過嵌入式系統(tǒng)的通訊口連接調(diào)試主機(jī),故障信息經(jīng)通訊鏈路送至調(diào)試主機(jī)的調(diào)試接口模塊(6),由調(diào)試接口模塊(6)顯示;3)調(diào)試接口模塊(6)接收調(diào)試命令,經(jīng)調(diào)試信息文件(5)解釋后再送至調(diào)試代理模塊(2),調(diào)試代理模塊(2)將相應(yīng)信息返回調(diào)試接口模塊(6)顯示。
2.如權(quán)利要求1所述的一種嵌入式軟件輔助調(diào)試方法,其特征在于所述的預(yù)編譯模塊(4)對符號表文件(3)進(jìn)行掃描分析的過程是所述的符號表文件(3)是在運(yùn)行版本編譯時(shí)生成的,經(jīng)預(yù)編譯模塊(4)處理后生成調(diào)試信息文件(5)。
3.如權(quán)利要求1或2所述的一種嵌入式軟件輔助調(diào)試方法,其特征在于所述的調(diào)試代理模塊(2)的工作過程是接收調(diào)試接口模塊(6)發(fā)送來的調(diào)試命令,并將相應(yīng)的信息返回調(diào)試接口模塊(6),并提供對應(yīng)用程序(1)的故障信息輸出接口。
4.如權(quán)利要求1或2所述的一種嵌入式軟件輔助調(diào)試方法,其特征在于調(diào)試接口模塊(6)的工作流程如下調(diào)試接口模塊一方面接收用戶的調(diào)試命令,一方面處理調(diào)試代理模塊返回的調(diào)試信息若調(diào)試接口模塊接收到調(diào)試代理模塊送來的調(diào)試信息,則對其中的控制符進(jìn)行解釋,根據(jù)控制符的類型確定調(diào)試信息的顯示方向顯示器或磁盤,并顯示;接收到用戶的調(diào)試命令后進(jìn)行分析,若為故障現(xiàn)場的查詢命令,則根據(jù)命令參數(shù)中的變量名,從調(diào)試信息文件中查詢到相應(yīng)變量的起始物理地址,然后將該地址隨查詢命令一起發(fā)送至調(diào)試代理模塊,等待調(diào)試代理模塊返回信息,對其中的控制符進(jìn)行解釋,根據(jù)控制符的類型確定調(diào)試命令的顯示方向顯示器或磁盤,并顯示若為故障現(xiàn)場的修改命令,則根據(jù)命令參數(shù)中的變量名,從調(diào)試信息文件中查詢到相應(yīng)變量的起始物理地址,然后將該地址和修改后的新值隨查詢命令一起發(fā)送至調(diào)試代理模塊,等待調(diào)試代理模塊返回信息,對其中的控制符進(jìn)行解釋,根據(jù)控制符的類型確定修改命令的顯示方向顯示器或磁盤,并顯示。
全文摘要
一種嵌入式軟件輔助調(diào)試方法,首先由預(yù)編譯模塊對編譯時(shí)生成的符號表文件進(jìn)行掃描分析,生成調(diào)試信息文件;嵌入式系統(tǒng)中的調(diào)試代理模塊在運(yùn)行時(shí)記錄故障信息,當(dāng)分析故障現(xiàn)場時(shí),通過嵌入式系統(tǒng)的通訊口連接調(diào)試主機(jī),故障信息經(jīng)調(diào)試接口模塊顯示;調(diào)試接口模塊還負(fù)責(zé)接收調(diào)試命令,經(jīng)調(diào)試信息文件解釋后再送至調(diào)試代理模塊,調(diào)試代理模塊將相應(yīng)信息返回調(diào)試接口模塊顯示。能夠克服目前的各種商用調(diào)試手段弱點(diǎn),提高嵌入式軟件質(zhì)量。
文檔編號G06F11/36GK1286431SQ99117260
公開日2001年3月7日 申請日期1999年11月30日 優(yōu)先權(quán)日1999年11月30日
發(fā)明者劉韞暉 申請人:深圳市中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1