BCB程序調(diào)試技術(shù)_第1頁
BCB程序調(diào)試技術(shù)_第2頁
BCB程序調(diào)試技術(shù)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、程序調(diào)試技術(shù)30)問:在C+Builder中調(diào)試程序要做一些什么工作?答:對(duì)于任何一種開發(fā)環(huán)境來說,調(diào)試器都是必不可少的。C+Builder在它的集成開發(fā)環(huán)境中內(nèi)嵌了一個(gè)集成調(diào)試器,使用這個(gè)調(diào)試器可以完成大多數(shù)的調(diào)試任務(wù)。它可以完成斷點(diǎn)設(shè)置、跟蹤、查看變量、查看堆棧等功能。在調(diào)試程序前,首先要保證編譯程序會(huì)產(chǎn)生調(diào)試信息。雖然在缺省情況下,C+Builder會(huì)自動(dòng)在編譯時(shí)生成調(diào)試信息,但還是應(yīng)該檢查一下,選擇Project菜單下的Options子菜單,選擇Compile標(biāo)簽頁,選中Debugging選項(xiàng)組中的Debug Information復(fù)選框。調(diào)試器的主要是用來解決程序中出現(xiàn)的邏輯錯(cuò)誤,通

2、俗地講就是程序地運(yùn)行結(jié)果與預(yù)期結(jié)果不同,因此我們需要知道使用調(diào)試器地兩個(gè)條件。1  運(yùn)行,即通過了編譯而且沒有產(chǎn)生運(yùn)行時(shí)錯(cuò)誤2  運(yùn)行結(jié)果不符合預(yù)期的結(jié)果 31)問:在C+Builder中怎樣調(diào)試程序?答:對(duì)于C+Builder中單步執(zhí)行的命令是Run菜單的Step Over,或者按下F8鍵也可以實(shí)現(xiàn)同樣功能,單步執(zhí)行是調(diào)試程序中最常用的命令,該命令每次只執(zhí)行一條語句。如果是過程調(diào)用或函數(shù)調(diào)用語句,那么這個(gè)命令不會(huì)進(jìn)入它們的內(nèi)部,而是一次執(zhí)行完。如果要進(jìn)入過程和函數(shù)內(nèi)部可以使用Run菜單的Trace Into命令或者使用功能鍵F7通常我們使用單步執(zhí)行程序開始應(yīng)用程

3、序的調(diào)試,因?yàn)檫@樣程序執(zhí)行到第一條語句就停止了。按下F8鍵C+Builder開始調(diào)試程序,執(zhí)行點(diǎn)所在的那條被加亮顯示,同時(shí)語句的左側(cè)還出現(xiàn)了一個(gè)箭頭標(biāo)志為了說明問題,我們還是用前面編寫的用戶登記卡程序來講解。因?yàn)槲覀冎痪帉懥耸录幚磉^程,而這些過程需要事件發(fā)生時(shí)才執(zhí)行,所以一開始就單步執(zhí)行程序是無法進(jìn)入到事件處理過程中的,要使執(zhí)行點(diǎn)能夠進(jìn)入到事件處理過程,必須在事件處理過程中增加斷點(diǎn)。 32)問:那怎樣設(shè)置斷點(diǎn)呢?答:設(shè)置斷點(diǎn)有很多方法,既可以在調(diào)試前設(shè)置斷點(diǎn),也可以在調(diào)試期間設(shè)置斷點(diǎn)。在設(shè)置斷點(diǎn)的方法中有一種非常簡單,就是在代碼編輯窗口中,用鼠標(biāo)單擊代碼行最左邊的空白處,就可以給這

4、一行代碼設(shè)置一個(gè)斷點(diǎn)。設(shè)置斷點(diǎn)的方法還有,選擇Run菜單,選擇Add BreakPoint,選擇Add Source BreakPoint,這時(shí)會(huì)彈出Add Source BreakPoint對(duì)話框,在這個(gè)對(duì)話框中,可以指定要產(chǎn)生斷點(diǎn)的文件、行號(hào),斷點(diǎn)產(chǎn)生的條件以及程序第幾次運(yùn)行過該斷點(diǎn)時(shí)會(huì)引起中斷。例如Key=A,其中Key是程序中的變量。現(xiàn)在,我們?cè)诰庉嬁虻陌存I事件處理程序的第一行設(shè)置斷點(diǎn),在Condition一欄中輸入條件(Key=A)|(Key=a) 表示當(dāng)按下鍵A的時(shí)候產(chǎn)生中斷。然后點(diǎn)擊OK按鈕,被設(shè)置了斷點(diǎn)的行以紅色為背景顯示,而且在最左邊的空白處顯示了紅色實(shí)心的點(diǎn)。斷點(diǎn)設(shè)置完成后

5、,按F9鍵運(yùn)行程序,程序啟動(dòng)后,在編輯框內(nèi)輸入字符串,當(dāng)按下鍵A的時(shí)候,中斷產(chǎn)生,系統(tǒng)又回到了調(diào)試界面。當(dāng)不需要使用斷點(diǎn)時(shí)可以把斷點(diǎn)刪除。刪除的方法與設(shè)置的方法基本相同。單擊包括斷點(diǎn)的代碼行的最左邊空白處就可以刪除斷點(diǎn)了。 33)問:在調(diào)試過程中,我想了解變量當(dāng)前的值,怎么辦?答:要獲得變量的當(dāng)前值,就必須把變量增加到變量監(jiān)視列表中。下面我將介紹怎樣增加監(jiān)視變量、刪除監(jiān)視變量、修改監(jiān)視變量。增加監(jiān)視變量有兩種方法,一種是打開代碼窗口,并設(shè)置為當(dāng)前窗口,然后選擇Run菜單下的Add watch菜單,也可按下Ctrl+F5打開一個(gè)Watch Properties對(duì)話框,在expressi

6、on組合框中輸入要監(jiān)視的變量表達(dá)式,編輯框Repeat Count用來確定數(shù)組中有多少個(gè)元素可以顯示。這時(shí)數(shù)組名應(yīng)該在Expression編輯框中輸入。如果為0表示顯示所有的元素。編輯框Digits用來確定顯示浮點(diǎn)數(shù)時(shí),應(yīng)該顯示小數(shù)點(diǎn)后面多少位數(shù)字,缺省值為18。如果選中復(fù)選框Enabled,則這個(gè)監(jiān)視變量有效,如果暫時(shí)不需要使用這個(gè)變量,那么也可以不選這個(gè)復(fù)選框,使它無效。對(duì)話框底部的單選按鈕可以設(shè)置監(jiān)視變量的顯示格式,例如字符串格式、十六進(jìn)制等,單擊按鈕OK就加入了監(jiān)視變量。還有一種方法更簡單,在代碼編輯窗口中,單擊鼠標(biāo)右鍵,打開快捷菜單,在菜單中選擇Debug菜單,然后選擇Add Wat

7、ch at Cursor命令,那么光標(biāo)所在位置的變量就被加入到監(jiān)視列表中。要?jiǎng)h除監(jiān)視變量,可以在監(jiān)視列表中選擇要?jiǎng)h除的變量,然后在快捷菜單中選擇Delete Watch命令刪除它。 34)問:如果我希望在調(diào)試的過程中修改變量的值,應(yīng)該怎么辦呢?答:這也很簡單,選擇Run菜單的Evaluate/Modify菜單,系統(tǒng)將彈出Evaluate/Modify對(duì)話框,在Expression組合框中選擇輸入希望修改值的變量名,點(diǎn)擊Evaluate按鈕,變量Key的值就會(huì)顯示在Result域中,在New Value域中輸入它的新的值,然后點(diǎn)擊Modify按鈕,就會(huì)在運(yùn)行中改變它的值了。 35)問:還有什么調(diào)試方法需要我們了解的嗎?答:C+Builder還提供了一種迅速獲得變量或者表達(dá)式值的方法,這種方法類似于tool-tip功能,就是在調(diào)試期間,當(dāng)把鼠標(biāo)光標(biāo)在變量上停留一會(huì)兒,這個(gè)變量的值就會(huì)顯示出來。此外,如果要調(diào)試對(duì)象,將光標(biāo)移動(dòng)到對(duì)象的實(shí)例變量上,然后點(diǎn)擊右鍵。選擇Debug菜單,選擇Inpse

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論