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

一種嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法

文檔序號(hào):6460829閱讀:275來(lái)源:國(guó)知局

專利名稱::一種嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種嵌入式系統(tǒng)的數(shù)據(jù)處理方法,尤其涉及的是一種適用于基于ELF格式(ExecutableandLinkingFormat)的嵌入式系統(tǒng)目標(biāo)代碼中系統(tǒng)變量實(shí)時(shí)查看方法。
背景技術(shù)
:現(xiàn)有技術(shù)的嵌入式系統(tǒng),特別是大型嵌入式系統(tǒng)都有大量的變量,這些變量的狀態(tài)決定了系統(tǒng)的運(yùn)行狀態(tài),工程師可以根椐可定位變量的值來(lái)確定系統(tǒng)的運(yùn)行狀態(tài)及故障。傳統(tǒng)查看變量的方法有1、在編寫代碼的時(shí)候人為地加入一些打印信息,人為打出需要察看的變量的值,這種方法要求程序編寫者預(yù)先判斷哪些變量是需要打印的,工作量大且沒有針對(duì)性。2、實(shí)驗(yàn)室通過調(diào)試器的接入進(jìn)行察看,這種方法只能在實(shí)驗(yàn)室調(diào)試版本中進(jìn)行,在發(fā)行版科艮本無(wú)法實(shí)施。3、在分析某些系統(tǒng)故障的過程中,需要確切知道系統(tǒng)的變量空間大小,現(xiàn)有方法是通過在程序中使用sizeof()函數(shù)求出后打印出來(lái),該方法不適用于對(duì)任意變量大小的查看。4、在某些消息或者內(nèi)存段是某個(gè)復(fù)雜結(jié)構(gòu)體的時(shí)候,如何對(duì)這些Buff進(jìn)行格式化顯示目前尚沒有工具做到。在設(shè)備出現(xiàn)不良運(yùn)行狀態(tài)時(shí),通常需要工程師現(xiàn)場(chǎng)定位并快速解決問題,而定位工程師往往需要查看系統(tǒng)的運(yùn)行狀態(tài),這時(shí)就需要能夠定位內(nèi)存中變量的實(shí)時(shí)值,而在現(xiàn)有技術(shù)的傳統(tǒng)方法中無(wú)法滿足這種要求,以致工程師解決問題的過程煩瑣且耗費(fèi)時(shí)間。因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法,針對(duì)現(xiàn)有技術(shù)的上述缺陷,而提供一種能夠定位和查詢內(nèi)存中變量實(shí)時(shí)值的方法。本發(fā)明的技術(shù)方案包括一種嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法,用于一通用嵌入式硬件系統(tǒng),并由前臺(tái)服務(wù)和后臺(tái)查詢支持兩部分構(gòu)成;并包括以下步驟A、從嵌入式系統(tǒng)的目標(biāo)代碼中提取變量和類型的定義信息;■B、解析這些信息生成結(jié)構(gòu)文件,用于描述變量的結(jié)構(gòu);C、所述后臺(tái)查詢支持程序利用該結(jié)構(gòu)文件向前臺(tái)發(fā)起查詢;D、所述前臺(tái)服務(wù)接收查詢信息,并返回相應(yīng)內(nèi)存區(qū)域的內(nèi)容給所述后臺(tái)查詢支持程序。所述的方法,其中,還包括步驟E、所述后臺(tái)查詢支持程序解釋所述前臺(tái)服務(wù)返回的內(nèi)容,并顯示給用戶。所述的方法,其中,所述步驟A還包括分析目標(biāo)文件的結(jié)構(gòu),提取其中的STABS節(jié)區(qū)信息,并從該節(jié)區(qū)信息中分析出變量和類型定義信息。所述的方法,其中,所述步驟B還包括對(duì)變量及類型定義信息進(jìn)行解析,生成可一次解析的變量及類型定義的樹形結(jié)構(gòu)。所述的方法,其中,所述步驟C還包^":所述后臺(tái)查詢支持程序還顯示所述結(jié)構(gòu)文件。所述的方法,其中,所述步驟C還包括所述后臺(tái)查詢支持程序利用結(jié)構(gòu)文件解析出對(duì)應(yīng)變量的地址及大小后,向所述前臺(tái)服務(wù)發(fā)送查詢通知。本發(fā)明所提供的一種嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法,由于采用了前后臺(tái)分開的查詢并且根據(jù)類型定義狀態(tài)變遷的查看方式,結(jié)合查詢代理程序方便地查看正在運(yùn)行的基站軟件內(nèi)存中變量信息,以輔助系統(tǒng)狀態(tài)分析,其分析解決問題的效率大大提高。圖la和圖lb分別是本發(fā)明方法的前、后臺(tái)查詢流程示意圖;圖2是本發(fā)明方法的類型定義狀態(tài)變遷圖表。具體實(shí)施方式下面結(jié)合附圖,將對(duì)本發(fā)明的各較佳實(shí)施例進(jìn)行更為詳細(xì)的描述。本發(fā)明的嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法,如圖la和圖lb所示,由前臺(tái)服務(wù)和后臺(tái)查詢支持兩部分構(gòu)成,其結(jié)合一通用嵌入式硬件系統(tǒng)工作,基本的步驟過程包括A、從嵌入式系統(tǒng)的目標(biāo)代碼中提取變量和類型的定義信息分析目標(biāo)文件結(jié)構(gòu),提取其中的STABS節(jié)區(qū)信息(調(diào)試信息格式),并從該節(jié)區(qū)信息中分析出變量和類型定義信息。B、解析這些信息生成結(jié)構(gòu)文件,在結(jié)構(gòu)文件中描述了變量的結(jié)構(gòu)采用本發(fā)明中提出的詞法和文法,結(jié)合編譯原理方法對(duì)變量及類型定義信息進(jìn)行解析,生成筒單的可一次解析的變量及類型定義的樹形結(jié)構(gòu)。C、后臺(tái)查詢支持程序利用該結(jié)構(gòu)文件,進(jìn)行顯示并向前臺(tái)發(fā)起查詢后臺(tái)查詢支持程序利用結(jié)構(gòu)文件將解析內(nèi)容以樹形結(jié)構(gòu)顯示給用戶,用戶提交需要查詢的變量,后臺(tái)解析出其地址及大小后,向前臺(tái)發(fā)送查詢通知。D、前臺(tái)在接收到查詢信息后返回相應(yīng)內(nèi)存區(qū)域的內(nèi)容給后臺(tái)前臺(tái)在接收到查詢通知后,根據(jù)所述結(jié)構(gòu)文件以及解析出的內(nèi)容,包括地址,將對(duì)應(yīng)內(nèi)存區(qū)域的內(nèi)容發(fā)送到后臺(tái)。E、后臺(tái)解釋前臺(tái)返回的查詢內(nèi)容,并顯示給用戶查看,即可完成對(duì)嵌入式系統(tǒng)中變量的實(shí)時(shí)查看過程。以下結(jié)合實(shí)例和前、后臺(tái)查詢流程圖具體說明其查詢過程假設(shè)有如下結(jié)構(gòu)體定義structTTestintvarljintvar2;};對(duì)于上述結(jié)構(gòu)體定義變量structTTesttTest;為實(shí)現(xiàn)測(cè)試,在進(jìn)行查詢前將其第一個(gè)分量varl置為2,第二個(gè)分量var2置為5。通過文法解析知道tTest的類型標(biāo)志(0,20),該變量存在。接下.來(lái)解析其結(jié)構(gòu)信息,具體詳細(xì)步驟請(qǐng)見下文說明。TTest:T(0,20)-s8varl:(0,l),0,32;var2:(0,l),32,32;;由此得知tTest為結(jié)構(gòu)體,結(jié)構(gòu)體名為TTest,該結(jié)構(gòu)體大小為8字節(jié),第一個(gè)分量地址偏移為O,大小為32位,第二個(gè)分量地址偏移為32,大小為32位。獲取tTest地址為0x7ff567。然后,向前臺(tái)發(fā)送tTest變量查詢信息,該信息包含地址0x7ff567及變量長(zhǎng)度8,并進(jìn)入等待接收查詢結(jié)果的狀態(tài)。前臺(tái)在收到該地址和長(zhǎng)度之后,將按照指定地址開始相應(yīng)長(zhǎng)度的內(nèi)存拷貝,并將查詢結(jié)果發(fā)送給后臺(tái)。后臺(tái)在收到查詢結(jié)果后,按上述解析結(jié)果將結(jié)構(gòu)體tTest顯示給用戶,第一個(gè)分量varl值為2,第二個(gè)分量var2值為5。6以下說明具體的調(diào)試信息解析過程從嵌入式系統(tǒng)生成的目標(biāo)文件中提取對(duì)應(yīng)類型定義結(jié)構(gòu)信息:TTest:T(0,20)=s8varl:(0,l),0,32;var2:(0,l),32,32;;結(jié)合圖2所示,解釋識(shí)別上述信息的過程1)、由S1識(shí)別名稱"TTest,,Sl的狀態(tài)升遷過程包括SIO、Sll、S12、S13、S14,并且根據(jù)Sll、S12和S13之間的編號(hào)條件,如S1下的表格所列示,在對(duì)上述結(jié)構(gòu)信息識(shí)別的過程中,可以4艮據(jù)編號(hào)1、2、3的條件進(jìn)行識(shí)別,得到結(jié)構(gòu)名稱"TTest";同理,S2的狀態(tài)機(jī)包括了S21;S3的狀態(tài)機(jī)包括了S30、S31、S32、S33、S34、S35;S4的狀態(tài)機(jī)包括了S40、S41、S42、S43;S5的狀態(tài)機(jī)包括了S51;S6的狀態(tài)機(jī)包括了S60、S61、S62、S63;S7的狀態(tài)機(jī)包括了S70、S71、S72、S73、S74、S75;S8的狀態(tài)機(jī)包括了S80、S81、S82、S83;整個(gè)識(shí)別過程為從Sl到S8依次執(zhí)行。2)、由S2識(shí)別該信息為新類型定義標(biāo)志為"T";3)、由S3識(shí)別新類型TTest的編號(hào)"(0,20)";4)、由S4、S5識(shí)別該新類型為結(jié)構(gòu)體"=s";5)、由S6識(shí)別出該類型大小"8";6)、由S7識(shí)別出該類型分量一"varl:(0,l),0,32;";7)、由S7識(shí)別出該類型分量二"var2:(0,l),32,32;";8)、由S8識(shí)別出該句子結(jié)束。上述識(shí)別過程的一個(gè)整體體現(xiàn)在圖2中。結(jié)合上述各部分局部識(shí)別過程,提取出詞法定義如下<formula>formulaseeoriginaldocumentpage7</formula>從圖2總結(jié)出識(shí)別結(jié)構(gòu)體的文法如下subtail=SUBTAILIsubtailSUBTAILstructdefmiton=NAMETYPETYPEPAIREQUEALTYPESIZEsubtailEND以上介紹了一條簡(jiǎn)單的詞法和文法構(gòu)造,經(jīng)過對(duì)C語(yǔ)言各種數(shù)據(jù)結(jié)構(gòu)的綜合分析后,本發(fā)明方法定義識(shí)別變量和類型定義的詞法,略舉部分如下<formula>formulaseeoriginaldocumentpage8</formula>本發(fā)明所提供的嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法,由于采用了前后臺(tái)分開的查詢并且才艮據(jù)類型定義狀態(tài)變遷的查看方式,能夠快速有效地解析目標(biāo)文件中的變量結(jié)構(gòu)定義及變量定義信息,分析變量大小,指定內(nèi)存的結(jié)構(gòu)體,結(jié)合查詢代理程序方便地查看正在運(yùn)行的基站軟件內(nèi)存中變量信息,以輔助系統(tǒng)狀態(tài)分析,其實(shí)現(xiàn)簡(jiǎn)單,且分析解決問題的效率大大提高。應(yīng)當(dāng)理解的是,上述針對(duì)本發(fā)明較佳實(shí)施例的描述較為詳細(xì),.但并不能因此而認(rèn)為是對(duì)本發(fā)明專利保護(hù)范圍的限制,本發(fā)明專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。權(quán)利要求1、一種嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法,用于一通用嵌入式硬件系統(tǒng),并由前臺(tái)服務(wù)和后臺(tái)查詢支持兩部分構(gòu)成;并包括以下步驟A、從嵌入式系統(tǒng)的目標(biāo)代碼中提取變量和類型的定義信息;B、解析這些信息生成結(jié)構(gòu)文件,用于描述變量的結(jié)構(gòu);C、所述后臺(tái)查詢支持程序利用該結(jié)構(gòu)文件向前臺(tái)發(fā)起查詢;D、所述前臺(tái)服務(wù)接收查詢信息,并返回相應(yīng)內(nèi)存區(qū)域的內(nèi)容給所述后臺(tái)查詢支持程序。2、沖艮據(jù)權(quán)利要求1所述的方法,其特征在于,還包括步驟E、所迷后臺(tái)查詢支持程序解釋所述前臺(tái)服務(wù)返回的內(nèi)容,并顯示給用戶。3、根據(jù)權(quán)利要求l所述的方法,其特征在于,所述步驟A還包括分析目標(biāo)文件的結(jié)構(gòu),提取其中的STABS節(jié)區(qū)信息,并從該節(jié)區(qū)信息中分析出變量和類型定義信息。4、4艮據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B還包括對(duì)變量及夷型定義信息進(jìn)行解析,生成可一次解析的變量及類型定義的樹形結(jié)構(gòu)。5、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C還包括所述后臺(tái)查詢支持程序還顯示所述結(jié)構(gòu)文件。6、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C還包括所述后臺(tái)查詢支持程序利用結(jié)構(gòu)文件解析出對(duì)應(yīng)變量的地址及大小后,向所述前臺(tái)服務(wù)發(fā)送查詢通知。全文摘要本發(fā)明公開了一種嵌入式系統(tǒng)中變量實(shí)時(shí)查看的方法,用于一通用嵌入式硬件系統(tǒng),并由前臺(tái)服務(wù)和后臺(tái)查詢支持兩部分構(gòu)成;并包括以下步驟從嵌入式系統(tǒng)的目標(biāo)代碼中提取變量和類型的定義信息;解析這些信息生成結(jié)構(gòu)文件,用于描述變量的結(jié)構(gòu);所述后臺(tái)查詢支持程序利用該結(jié)構(gòu)文件向前臺(tái)發(fā)起查詢;所述前臺(tái)服務(wù)接收查詢信息,并返回相應(yīng)內(nèi)存區(qū)域的內(nèi)容給所述后臺(tái)查詢支持程序。本發(fā)明方法由于采用了前后臺(tái)分開的查詢并且根據(jù)類型定義狀態(tài)變遷的查看方式,結(jié)合查詢代理程序方便地查看正在運(yùn)行的基站軟件內(nèi)存中變量信息,以輔助系統(tǒng)狀態(tài)分析,其分析解決問題的效率大大提高。文檔編號(hào)G06F11/36GK101256532SQ20081006647公開日2008年9月3日申請(qǐng)日期2008年4月7日優(yōu)先權(quán)日2008年4月7日發(fā)明者鵬萬(wàn)申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1