[發(fā)明專利]一種計算機(jī)程序的調(diào)試方法無效
| 申請?zhí)枺?/td> | 200910090813.3 | 申請日: | 2009-08-10 |
| 公開(公告)號: | CN101615158A | 公開(公告)日: | 2009-12-30 |
| 發(fā)明(設(shè)計)人: | 宋涇舸 | 申請(專利權(quán))人: | 北京交通大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京眾合誠成知識產(chǎn)權(quán)代理有限公司 | 代理人: | 童曉琳 |
| 地址: | 100044北京市西*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 計算機(jī) 程序 調(diào)試 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于計算機(jī)軟件開發(fā)技術(shù)領(lǐng)域,尤其涉及一種計算機(jī)程序的調(diào)試方法。
背景技術(shù)
程序調(diào)試是計算機(jī)軟件開發(fā)的重要環(huán)節(jié)之一,其目的是發(fā)現(xiàn)程序代碼中存在的各種問題,提高程序運行的正確性、安全性、可靠性。傳統(tǒng)的程序調(diào)試方法采用斷點設(shè)置與代碼跟蹤技術(shù),如VC++、Borland?C++等。對于直接編譯型語言(如C/C++,Java等),編寫的是直接執(zhí)行的程序,由于程序的執(zhí)行流程比較單一,這種方法是比較有效的。然而,對于一些執(zhí)行過程復(fù)雜多變、具有不確定性的程序,同一段代碼在不同系統(tǒng)運行條件下可能正常也可能出現(xiàn)故障,僅僅發(fā)現(xiàn)故障代碼的位置常常不能準(zhǔn)確定位故障產(chǎn)生的原因。采用代碼跟蹤的方法既繁瑣又費時,特別是當(dāng)程序在同一段代碼上執(zhí)行了大量流程后產(chǎn)生故障,斷點追蹤的方法幾乎是無法定位故障的。因此,采用快速有效的故障定位技術(shù),對于提高復(fù)雜過程計算機(jī)程序的調(diào)試效率和改進(jìn)代碼質(zhì)量具有十分重要的意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種計算機(jī)程序的調(diào)試方法,用于解決復(fù)雜運行流程的計算機(jī)程序無法快速準(zhǔn)確定位故障的問題。
本發(fā)明的技術(shù)方案是,一種計算機(jī)程序的調(diào)試方法,其特征是所述方法包括下列步驟:
步驟1:建立在計算機(jī)程序所有運行流程中均可使用的記錄流程信息的數(shù)據(jù)結(jié)構(gòu);
步驟2:被調(diào)試的計算機(jī)程序運行,判斷是否產(chǎn)生故障,如果是,則記錄故障代碼位置并執(zhí)行步驟3;否則,執(zhí)行步驟9;
步驟3:在故障代碼前面,加入用于添加流程信息的代碼,通過添加流程信息的代碼,刷新數(shù)據(jù)結(jié)構(gòu)中記錄的流程信息;
步驟4:在故障代碼處,加入用于監(jiān)控流程信息的代碼,通過監(jiān)控流程信息的代碼,獲取特定的流程信息;
步驟5:重新運行被調(diào)試的計算機(jī)程序,當(dāng)被調(diào)試的計算機(jī)程序再次在故障代碼處終止時,獲取監(jiān)控流程信息;
步驟6:根據(jù)監(jiān)控流程信息,在故障代碼處的前面插入流程信息的追蹤代碼;
步驟7:再次運行被調(diào)試的計算機(jī)程序,使被調(diào)試的計算機(jī)程序在發(fā)生故障時,暫停于故障代碼前的追蹤代碼處;
步驟8:從追蹤代碼開始,采用常用的步進(jìn)方式,繼續(xù)執(zhí)行被調(diào)試的計算機(jī)程序,確定故障原因并作相應(yīng)修改;之后,返回步驟2;
步驟9:在修改之后,刪除用于監(jiān)控流程信息的監(jiān)控代碼。
所述數(shù)據(jù)結(jié)構(gòu)為全局性數(shù)據(jù)結(jié)構(gòu)。
所述數(shù)據(jù)結(jié)構(gòu)獨立于所述計算機(jī)程序。
所述數(shù)據(jù)結(jié)構(gòu)記錄的流程信息包括:遞規(guī)算法的層次計數(shù)、條件表達(dá)式計數(shù)、任務(wù)計數(shù)、任務(wù)分解方法計數(shù)、動作計數(shù)、計劃計數(shù)。
所述數(shù)據(jù)結(jié)構(gòu)記錄的流程信息可以根據(jù)被調(diào)試的計算機(jī)程序進(jìn)行擴(kuò)展。
所述特定的流程信息根據(jù)被調(diào)試的計算機(jī)程序預(yù)先設(shè)定。
本發(fā)明能夠快速準(zhǔn)確的定位故障代碼和發(fā)生故障時的運行流程,方便地確定程序運行故障的產(chǎn)生原因,提高代碼修改的質(zhì)量和效率。
附圖說明
圖1是流程信息數(shù)據(jù)結(jié)構(gòu)與被調(diào)試計算機(jī)程序的關(guān)系圖;
圖2是流程信息的數(shù)據(jù)結(jié)構(gòu)示意圖;
圖3是智能規(guī)劃軟件系統(tǒng)的原理圖;
圖4是HTN搜索的流程樹結(jié)構(gòu);
圖5是本發(fā)明實施例提供的計算機(jī)程序的調(diào)試方法流程圖。
具體實施方式
下面結(jié)合附圖,對優(yōu)選實施例作詳細(xì)說明。應(yīng)該強調(diào)的是,下述說明僅僅是示例性的,而不是為了限制本發(fā)明的范圍及其應(yīng)用。
本發(fā)明以層次任務(wù)網(wǎng)(Hierarchical?Task?Network,簡稱HTN)智能規(guī)劃器程序的調(diào)試為實施例對本發(fā)明作進(jìn)一步說明。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京交通大學(xué),未經(jīng)北京交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910090813.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 雙桌面遠(yuǎn)程控制系統(tǒng)及方法
- 一種基于網(wǎng)絡(luò)的計算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計算機(jī)信息檢索系統(tǒng)與方法
- 一種基于網(wǎng)絡(luò)的計算機(jī)信息檢索系統(tǒng)與方法
- 雙計算機(jī)系統(tǒng)
- 制導(dǎo)雷達(dá)計算機(jī)系統(tǒng)
- 一種服務(wù)部署方法及裝置
- 一種計算機(jī)集成系統(tǒng)及故障自動切換方法
- 一種計算機(jī)信息安全監(jiān)控系統(tǒng)
- 混合型量子計算機(jī)架構(gòu)及其執(zhí)行計算任務(wù)的方法
- 調(diào)試系統(tǒng)、調(diào)試方法和調(diào)試控制方法
- 一種終端調(diào)試方法和裝置
- 設(shè)備自動工程調(diào)試方法、裝置、系統(tǒng)和計算機(jī)設(shè)備
- 基于串口的遠(yuǎn)程設(shè)備調(diào)試系統(tǒng)及方法
- 一種安卓系統(tǒ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ī)設(shè)備
- 一種芯片調(diào)試系統(tǒng)及芯片調(diào)試方法





