[發(fā)明專利]基于命名變量的全景數(shù)據(jù)在線實(shí)時(shí)調(diào)試方法有效
| 申請?zhí)枺?/td> | 201010590866.4 | 申請日: | 2010-12-16 |
| 公開(公告)號: | CN102063368A | 公開(公告)日: | 2011-05-18 |
| 發(fā)明(設(shè)計(jì))人: | 張少波;饒丹;張成彬;滕春濤;徐廣輝;鄭玉平 | 申請(專利權(quán))人: | 國網(wǎng)電力科學(xué)研究院 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京蘇科專利代理有限責(zé)任公司 32102 | 代理人: | 牛莉莉 |
| 地址: | 210003*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 命名 變量 全景 數(shù)據(jù) 在線 實(shí)時(shí) 調(diào)試 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種嵌入式軟件的在線實(shí)時(shí)調(diào)試方法。
背景技術(shù)
隨著嵌入式系統(tǒng)的發(fā)展,嵌入式系統(tǒng)現(xiàn)在幾乎應(yīng)用于所有的電子和電器設(shè)備中,高端的嵌入式處理器得到了普遍的應(yīng)用,片上系統(tǒng)、深度嵌入、分布式多處理器構(gòu)架、軟件復(fù)雜度的發(fā)展給傳統(tǒng)的調(diào)試方法帶來了極大的挑戰(zhàn)。調(diào)試是嵌入式系統(tǒng)開發(fā)過程中必不可少的重要環(huán)節(jié),它占整個(gè)開發(fā)時(shí)間的20%~30%。它的重要性是不言而喻的。
傳統(tǒng)的調(diào)試方法是通過仿真器與嵌入式系統(tǒng)相連,主機(jī)上運(yùn)行集成開發(fā)調(diào)試工具,調(diào)試工具具有編輯、編譯、鏈接和調(diào)試環(huán)境,由于主機(jī)調(diào)試環(huán)境中保存了嵌入式系統(tǒng)運(yùn)行的符號表信息,能夠?qū)ο到y(tǒng)的變量進(jìn)行調(diào)試。這種調(diào)試方法具有明顯的缺點(diǎn):占用系統(tǒng)資源較多,有的系統(tǒng)必須依賴芯片JTAG口,仿真器和調(diào)試工具價(jià)格昂貴,不能夠?qū)φ谶\(yùn)行的系統(tǒng)進(jìn)行即插式調(diào)試,調(diào)試前需要重新啟動系統(tǒng),重新下載程序等繁瑣步驟。對正常運(yùn)行系統(tǒng)是不可能采用這種調(diào)試手段的。
隨著裝置多CPU系統(tǒng)的出現(xiàn),對整體系統(tǒng)的統(tǒng)一調(diào)試需求更加急迫,并且系統(tǒng)正常運(yùn)行起來后,能夠?qū)ο到y(tǒng)的變量進(jìn)行實(shí)時(shí)跟蹤,這些問題都需要采用更先進(jìn)的調(diào)試手段來解決這些問題。
以往的嵌入式程序調(diào)試,只能根據(jù)編譯器形成的符號表,符號表中只包括了系統(tǒng)在編譯階段靜態(tài)分配的數(shù)據(jù)的地址,調(diào)試時(shí)能夠根據(jù)這些變量名查詢到分配全局變量的地址。而動態(tài)分配的變量是在程序初始化運(yùn)行中分配的,這些變量在運(yùn)行前地址是未知的,由于CPU運(yùn)行的是2進(jìn)制指令,在運(yùn)行過程中也不知道內(nèi)存地址和變量的對應(yīng)關(guān)系,從而這些動態(tài)分配的內(nèi)存缺乏有效的調(diào)試手段。
發(fā)明內(nèi)容
本發(fā)明針對上述問題,克服現(xiàn)有技術(shù)上述缺點(diǎn),提出一種基于命名變量的全景數(shù)據(jù)在線實(shí)時(shí)調(diào)試方法,實(shí)現(xiàn)調(diào)試代理、主機(jī)可視化編程調(diào)試軟件的配合,實(shí)現(xiàn)了所有變量的在線實(shí)時(shí)調(diào)試功能,極大提高了調(diào)試效率,加快了應(yīng)用程序的開發(fā)進(jìn)度。
為了解決以上技術(shù)問題,本發(fā)明提供的基于命名變量的全景數(shù)據(jù)在線實(shí)時(shí)調(diào)試方法,其在一種由調(diào)試主機(jī)、板卡式設(shè)備構(gòu)成的調(diào)試裝置上實(shí)現(xiàn),所述板卡式設(shè)備包括:運(yùn)行有調(diào)試代理程序的主CPU板卡,以及與該主CPU通訊的多個(gè)從CPU板卡,所述調(diào)試主機(jī)上運(yùn)行有調(diào)試主程序,調(diào)試方法包括如下步驟:
第一步:調(diào)試主機(jī)根據(jù)編譯器獲得各靜態(tài)變量在從CPU板卡的內(nèi)存地址,調(diào)試主機(jī)掃描從CPU板卡的應(yīng)用源程序獲得各結(jié)構(gòu)體中所有動態(tài)變量相對于結(jié)構(gòu)體的偏移地址;
第二步:調(diào)試代理程序?qū)⒌谝徊街姓{(diào)試主機(jī)獲取的各結(jié)構(gòu)體中所有動態(tài)變量相對于結(jié)構(gòu)體的偏移地址下載到本地;
第三步:各從CPU板卡的CPU向調(diào)試代理程序注冊本地運(yùn)行程序所需的所有結(jié)構(gòu)體,并將這些結(jié)構(gòu)體在內(nèi)存中的首地址發(fā)送給調(diào)試代理程序;
第四步:調(diào)試代理程序根據(jù)各結(jié)構(gòu)體首地址以及各結(jié)構(gòu)體中所有動態(tài)變量相對于結(jié)構(gòu)體的偏移地址,得到各結(jié)構(gòu)體種所有動態(tài)變量的內(nèi)存地址;
第五步:通過靜態(tài)變量、動態(tài)變量所在從CPU板卡的內(nèi)存地址進(jìn)行靜態(tài)變量、動態(tài)變量的實(shí)時(shí)查看和實(shí)時(shí)修改。
注冊變量是動態(tài)分配變量的重要調(diào)試手段,先進(jìn)的繼電保護(hù)裝置中保護(hù)功能都是可組態(tài)的,這意味這保護(hù)功能都是運(yùn)行時(shí)刻確定,不是預(yù)先分配好的。這些保護(hù)對象都是動態(tài)對象,對于這些動態(tài)對象的在線實(shí)時(shí)調(diào)試是保護(hù)開發(fā)人員最關(guān)心的。本發(fā)明通過注冊機(jī)制,使動態(tài)對象(結(jié)構(gòu)體的實(shí)例)在進(jìn)行初始化時(shí),將對象的名稱和對象的內(nèi)存地址通過通信鏈路向調(diào)調(diào)試代理程序進(jìn)行注冊。調(diào)試代理程序結(jié)合本地存儲的成員變量偏移表(各結(jié)構(gòu)體中所有動態(tài)變量相對于結(jié)構(gòu)體的偏移地址所構(gòu)成的列表),就能夠生成出該動態(tài)對象(結(jié)構(gòu)體的實(shí)例)的所有成員(動態(tài)變量)的地址信息供主機(jī)調(diào)試系統(tǒng)在線調(diào)試。
進(jìn)一步的,本發(fā)明第五步中,實(shí)時(shí)查看動態(tài)變量值的方法是:調(diào)試人員在調(diào)試主程序中選擇需查看的動態(tài)變量名稱,調(diào)試主程序向調(diào)試代理程序發(fā)送該需要查看的動態(tài)變量名稱,調(diào)試代理程序查詢獲得該動態(tài)變量所在從CPU板卡中的內(nèi)存地址,并根據(jù)所述從CPU板卡的該內(nèi)存地址獲得該動態(tài)變量的當(dāng)前值,發(fā)送給調(diào)試主程序予以顯示。
進(jìn)一步的,本發(fā)明第五步中,實(shí)時(shí)修改動態(tài)變量值的方法是:調(diào)試人員在調(diào)試主程序中輸入需修改動態(tài)變量的新的賦值,調(diào)試主程序?qū)⑿栊薷牡膭討B(tài)變量的名稱及新的賦值發(fā)送給調(diào)試代理程序,調(diào)試代理程序根據(jù)該動態(tài)變量的名稱查詢該動態(tài)變量所在從CPU板卡的內(nèi)存地址,并將新的賦值寫入與該動態(tài)變量對應(yīng)的從CPU板卡內(nèi)存地址中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國網(wǎng)電力科學(xué)研究院,未經(jīng)國網(wǎng)電力科學(xué)研究院許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010590866.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 具有多位字段的寄存器的重命名
- 命名實(shí)體識別方法及裝置
- 主命名節(jié)點(diǎn)設(shè)置方法及裝置
- 命名實(shí)體的識別方法、識別系統(tǒng)及計(jì)算機(jī)可讀存儲介質(zhì)
- 數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)終端
- 命名實(shí)體消歧方法、裝置、設(shè)備及存儲介質(zhì)
- 文件默認(rèn)命名方法、裝置和電子設(shè)備
- 命名實(shí)體識別方法、裝置、電子設(shè)備及可讀存儲介質(zhì)
- 一種集群命名空間管理方法、系統(tǒng)、電子設(shè)備及存儲介質(zhì)
- 命名實(shí)體歸一化處理方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種基于變量的配置化計(jì)算邏輯的多變量計(jì)算方法和裝置
- 數(shù)據(jù)分析支援裝置
- 流程模型整合系統(tǒng)的變量定義更改裝置與方法
- 終端測試裝置、終端測試設(shè)備及變量維護(hù)方法
- 估計(jì)目標(biāo)變量對結(jié)果變量的因果效應(yīng)的方法、裝置和系統(tǒng)
- 用戶行為模擬方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲介質(zhì)
- 一種變量泵變量控制裝置及其變量泵變量控制方法
- 一種應(yīng)用程序的編譯方法及設(shè)備
- 一種基于全局變量的家居參數(shù)化模型建模系統(tǒng)及方法
- 一種便于變量彈簧定位的變量滑塊以及變量泵





