[發(fā)明專利]一種交叉調(diào)試器中條件斷點(diǎn)實(shí)現(xiàn)方法有效
| 申請(qǐng)?zhí)枺?/td> | 200810001131.6 | 申請(qǐng)日: | 2008-01-16 |
| 公開(公告)號(hào): | CN101216802A | 公開(公告)日: | 2008-07-09 |
| 發(fā)明(設(shè)計(jì))人: | 程圣宇;何劍;崔云峰;劉東;鐘衛(wèi)東 | 申請(qǐng)(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京安信方達(dá)知識(shí)產(chǎn)權(quán)代理有限公司 | 代理人: | 龍洪;霍育棟 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 交叉 調(diào)試 條件 斷點(diǎn) 實(shí)現(xiàn) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)軟件,具體涉及一種交叉調(diào)試器中條件斷點(diǎn)實(shí)現(xiàn)方法。
背景技術(shù)
調(diào)試器是軟件開發(fā)人員不可或缺的重要工具。調(diào)試器提供的斷點(diǎn)功能、程序運(yùn)行流程控制功能、數(shù)據(jù)查看功能、以及堆棧分析功能等等,能夠有效地幫助軟件開發(fā)人員快速定位并消除代碼中的故障,極大地提高軟件開發(fā)的效率,增強(qiáng)軟件產(chǎn)品的穩(wěn)定性。在嵌入式領(lǐng)域,由于單板(本文后面稱為目標(biāo)機(jī))上的資源常常很有限,不能在目標(biāo)機(jī)上直接運(yùn)行調(diào)試器程序。因此,嵌入式軟件開發(fā)通常使用交叉調(diào)試模式。
斷點(diǎn)功能是調(diào)試器的最基礎(chǔ)、最核心的功能之一,其具體含義是:用戶在被調(diào)試程序的指定位置插入一個(gè)斷點(diǎn),被調(diào)試程序運(yùn)行過程中遇到斷點(diǎn)時(shí)停止運(yùn)行,并把對(duì)CPU的控制權(quán)交給調(diào)試器。這時(shí)用戶可以查看變量值、查看寄存器值、也可以分析堆棧,以判斷程序當(dāng)前狀態(tài),從而定位可能存在于代碼中的故障。斷點(diǎn)又可以分為普通斷點(diǎn)和條件斷點(diǎn)兩種。對(duì)于普通斷點(diǎn),被調(diào)試程序一旦遇到斷點(diǎn)就立即停止運(yùn)行,并把控制權(quán)交給調(diào)試器,這稱為斷點(diǎn)命中;對(duì)于條件斷點(diǎn),被調(diào)試程序遇到斷點(diǎn)時(shí),滿足所設(shè)定的條件則停止運(yùn)行,并把控制權(quán)交給調(diào)試器,否則跨過該斷點(diǎn)繼續(xù)運(yùn)行。條件斷點(diǎn)通常包含以下三類條件:一是線程號(hào)條件,即所設(shè)置的斷點(diǎn)僅對(duì)指定的線程有效;二是忽略次數(shù)條件,即斷點(diǎn)被遇到指定的次數(shù)加1次的時(shí)候才生效;三是表達(dá)式條件,即當(dāng)表達(dá)式為真時(shí),斷點(diǎn)才生效。
交叉調(diào)試器的基本體系架構(gòu)如圖1所示,由運(yùn)行在主機(jī)端的調(diào)試器前臺(tái)和運(yùn)行在目標(biāo)機(jī)的調(diào)試代理構(gòu)成。在現(xiàn)有的交叉調(diào)試器中,條件斷點(diǎn)的實(shí)現(xiàn)方式是:被調(diào)試程序遇到斷點(diǎn),操作系統(tǒng)內(nèi)核通知調(diào)試代理,調(diào)試代理直接把斷點(diǎn)事件告知調(diào)試器前臺(tái),如果當(dāng)前斷點(diǎn)是一個(gè)條件斷點(diǎn),則由調(diào)試器前臺(tái)分析各種條件是否滿足,這些條件包括線程號(hào)是否匹配,條件表達(dá)式的值是否為真,是否之前已經(jīng)遇到該斷點(diǎn)指定的次數(shù),如果所有這些條件(如果用戶設(shè)置了對(duì)應(yīng)的條件的話)都滿足,則讓被調(diào)試程序停留在斷點(diǎn)位置,并向用戶報(bào)告斷點(diǎn)命中,這時(shí)用戶可以查看變量和堆棧等信息,判斷被調(diào)試程序的當(dāng)前狀態(tài)是否正確;如果至少有一個(gè)條件不滿足,則跨過當(dāng)前斷點(diǎn),讓被調(diào)試程序繼續(xù)運(yùn)行。
上述實(shí)現(xiàn)方式主要有以下兩點(diǎn)不足:
1.效率低下。調(diào)試代理每一次向調(diào)試器前臺(tái)報(bào)告斷點(diǎn)事件以及調(diào)試器前臺(tái)跨過斷點(diǎn)并且恢復(fù)被調(diào)試程序運(yùn)行,都會(huì)產(chǎn)生網(wǎng)絡(luò)流量。例如,用戶給某個(gè)斷點(diǎn)設(shè)置的忽略次數(shù)很大,例如10000次,那么該斷點(diǎn)在被遇到10001次時(shí)才會(huì)生效,之前遇到的10000次都應(yīng)該被忽略,而這本應(yīng)該被忽略的10000次遇到斷點(diǎn)事件,都由調(diào)試器前臺(tái)來處理,不僅會(huì)增加網(wǎng)絡(luò)流量,而且也會(huì)給調(diào)試器前臺(tái)和調(diào)試代理本身帶來很大的負(fù)荷。因此,普通的交叉調(diào)試器中,條件斷點(diǎn)的效率底下。
2.不夠靈活。普通的調(diào)試器中,條件斷點(diǎn)的三種條件(線程號(hào)、忽略次數(shù)和條件表達(dá)式)的邏輯組合關(guān)系是固定的,不能靈活配置。
發(fā)明內(nèi)容
本發(fā)明需要解決的技術(shù)問題是如何提供一種交叉調(diào)試器中條件斷點(diǎn)實(shí)現(xiàn)方法,能夠提高條件斷點(diǎn)調(diào)試效率,進(jìn)一步支持條件斷點(diǎn)的線程號(hào)條件、忽略次數(shù)條件和表達(dá)式條件,并且可以對(duì)條件斷點(diǎn)的這三種條件的邏輯組合關(guān)系進(jìn)行靈活配置。
本發(fā)明的上述技術(shù)問題這樣解決,提供一種交叉調(diào)試器中條件斷點(diǎn)實(shí)現(xiàn)方法,其特征在于,包括以下步驟:
1.1)在目標(biāo)機(jī)端調(diào)試代理中設(shè)置與主機(jī)端調(diào)試器前臺(tái)原始斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)同步的對(duì)應(yīng)目標(biāo)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu);
1.2)目標(biāo)機(jī)端調(diào)試代理利用所述對(duì)應(yīng)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)對(duì)條件斷點(diǎn)事件進(jìn)行一級(jí)調(diào)試,僅將其中滿足所述目標(biāo)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)的事件通知并由主機(jī)端調(diào)試器前臺(tái)進(jìn)行二級(jí)調(diào)試。
按照本發(fā)明提供的實(shí)現(xiàn)方法,該實(shí)現(xiàn)方法還包括直接將普通斷點(diǎn)事件通知主機(jī)端調(diào)試器前臺(tái)進(jìn)行調(diào)試。
按照本發(fā)明提供的實(shí)現(xiàn)方法,所述步驟1.1)中同步包括調(diào)試器前臺(tái)與調(diào)試代理建立調(diào)試連接時(shí),須把在建立調(diào)試連接之前插入原始斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)的斷點(diǎn)信息同步到所述目標(biāo)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)中。
按照本發(fā)明提供的實(shí)現(xiàn)方法,所述步驟1.1)中同步包括插入斷點(diǎn)、刪除斷點(diǎn)或修改斷點(diǎn)屬性時(shí),須把調(diào)試器前臺(tái)的原始斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)的增、刪或修改信息同步到所述目標(biāo)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)中。
按照本發(fā)明提供的實(shí)現(xiàn)方法,所述步驟1.1)中同步包括查詢對(duì)應(yīng)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)詳細(xì)信息時(shí),須把所述目標(biāo)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)中忽略次數(shù)信息同步到調(diào)試器前臺(tái)的原始斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)中。
按照本發(fā)明提供的實(shí)現(xiàn)方法,所述步驟1.1)中同步包括調(diào)試器前臺(tái)與調(diào)試代理斷開調(diào)試連接之后,調(diào)試代理銷毀所述目標(biāo)斷點(diǎn)數(shù)據(jù)結(jié)構(gòu)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810001131.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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ò)誤
- 調(diào)試系統(tǒng)、調(diào)試方法和調(diào)試控制方法
- 一種終端調(diào)試方法和裝置
- 設(shè)備自動(dòng)工程調(diào)試方法、裝置、系統(tǒng)和計(jì)算機(jī)設(shè)備
- 基于串口的遠(yuǎn)程設(shè)備調(diào)試系統(tǒng)及方法
- 一種安卓系統(tǒng)動(dòng)態(tài)調(diào)試的方法及系統(tǒng)
- 調(diào)試裝置和遠(yuǎn)程調(diào)試系統(tǒng)
- 一種調(diào)試方法、裝置及系統(tǒng)
- 一種應(yīng)用程序開發(fā)的調(diào)試系統(tǒng)及方法
- 樓宇設(shè)備的異地調(diào)試控制方法、裝置和計(jì)算機(jī)設(shè)備
- 一種芯片調(diào)試系統(tǒng)及芯片調(diào)試方法
- 限制條件解決方法、限制條件解決裝置、以及限制條件解決系統(tǒng)
- 制造條件設(shè)定系統(tǒng)及制造條件設(shè)定方法
- 成形條件確定方法及成形條件確定系統(tǒng)
- 成形條件設(shè)定裝置、成形條件設(shè)定方法及成形條件設(shè)定畫面
- 攝影條件設(shè)定設(shè)備、攝影條件設(shè)定方法和攝影條件設(shè)定程序
- 生理?xiàng)l件監(jiān)視系統(tǒng)、生理?xiàng)l件傳感器和生理?xiàng)l件儀表
- 成形條件設(shè)定裝置、成形條件設(shè)定方法及成形條件設(shè)定畫面
- 條件訪問設(shè)備
- 用于條件切換的裝置、方法、介質(zhì)和系統(tǒng)
- 基于條件分布的條件生成對(duì)抗網(wǎng)絡(luò)





