程序調(diào)試步驟(共5頁)_第1頁
程序調(diào)試步驟(共5頁)_第2頁
程序調(diào)試步驟(共5頁)_第3頁
程序調(diào)試步驟(共5頁)_第4頁
程序調(diào)試步驟(共5頁)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上一、認(rèn)識調(diào)試功能在組建(build)菜單中,點(diǎn)擊開始調(diào)試(start debug),在其下級子菜單中,包含了啟動調(diào)試器運(yùn)行的各項(xiàng)子命令(如圖1所示)圖1 開始調(diào)試菜單各子命令及其功能如下:· Go:從程序中的當(dāng)前語句開始執(zhí)行,直到遇到斷點(diǎn)(后面講)或遇到程序結(jié)束。· Step Into:控制程序單步執(zhí)行,并在遇到函數(shù)調(diào)用時進(jìn)入函數(shù)內(nèi)部。· Run to Cursor:在調(diào)試運(yùn)行程序時,使程序運(yùn)行到當(dāng)前光標(biāo)所在位置時停止,相當(dāng)于設(shè)置了一個臨時斷點(diǎn)。二、單步調(diào)試代碼利用圖1菜單中的Step into功能或按F11鍵,進(jìn)入單步調(diào)試狀態(tài),有一個箭

2、頭指向程序的第一行,每按一次F11鍵,程序再向前執(zhí)行一行語句,如圖2所示。圖2 開始調(diào)試后的界面我們對圖2的界面進(jìn)行觀察。首先,菜單中增加一個調(diào)試(debug)菜單,如圖中處,下面是菜單中的部分功能(鼠標(biāo)浮到上面時,會有提示,請?jiān)囈辉?。?#183; Step Into(F11):單步調(diào)試程序,遇到調(diào)用函數(shù)時,進(jìn)入函數(shù)內(nèi)部逐步執(zhí)行;· Step Over(F10):也是單步調(diào)試程序,遇到調(diào)用函數(shù)時,并不進(jìn)入函數(shù)內(nèi)容執(zhí)行;· Step Out:調(diào)試程序時,從正在執(zhí)行的某個嵌套結(jié)構(gòu)的內(nèi)部跳到該結(jié)構(gòu)的外部,常用于知道調(diào)用函數(shù)中不存在錯誤的情況;· Run to Curs

3、or(CTRL-F10):調(diào)試程序時,直接運(yùn)行到插入點(diǎn)處。其次,和當(dāng)前正在執(zhí)行的語句相關(guān)的變量,以及其當(dāng)前的值顯示在了處。 再次,黃色箭頭代表了正在執(zhí)行的位置?!揪毩?xí)1】下面,針對求1+2+3+.+100的程序,體驗(yàn)單步執(zhí)行。步驟:(1)編寫如圖所示求1+2+3+.+100的程序,排除編譯錯誤;(2)按前述開始單步執(zhí)行,用“Step Into(F11)”持續(xù)執(zhí)行,在執(zhí)行過程中,注意觀察變量的變化。· 調(diào)試中,要將自己的預(yù)期和計(jì)算機(jī)執(zhí)行的結(jié)果進(jìn)行比較,當(dāng)發(fā)現(xiàn)不一致,恭喜,問題找到了。· 本程序循環(huán)要執(zhí)行100次!有的程序進(jìn)入循環(huán)要執(zhí)行的次數(shù)更多,而初步跟蹤確定循環(huán)不

4、可能出問題,需要快速“跳出”循環(huán)。將光標(biāo)移到循環(huán)后,用“Run to Cursor”,程序即運(yùn)行到光標(biāo)處。· 在cout<<.一行繼續(xù)F11,會嚇人一跳,出現(xiàn)的界面是:圖3 程序會運(yùn)行到“看不懂”的代碼中去,用Step Out功能退出這是因?yàn)镕11的單步運(yùn)行,進(jìn)入到了實(shí)現(xiàn)cout功能的代碼中去了(教訓(xùn):以后再到這兒,切記用Step Over(F10),而不是Step Into(F11)),此時請用Step Out功能可以退出?!揪毩?xí)2】再將上面的過程進(jìn)行幾遍,熟練上述過程,學(xué)會觀察,會靈活使用Step Over(F10)、Step Into(F11)、Step Out和R

5、un to Cursor處理。提示:Step Over(F10)和Step Into(F11)的區(qū)別將在學(xué)習(xí)函數(shù)后更加明確,需要跟蹤自定義函數(shù)內(nèi)部代碼時,用Step Into(F11),不需要跟蹤時,就Over過去了?!揪毩?xí)3】將光標(biāo)置于程序中某一語句上,用Run to Cursor(快捷鍵CTRL-F10),看看發(fā)生什么現(xiàn)象直接執(zhí)行到了光標(biāo)處!這是一種快速觀察的方法。三、設(shè)置斷點(diǎn)和斷點(diǎn)應(yīng)用斷點(diǎn)是程序執(zhí)行需要中斷的地方??梢宰尦绦蛑袛嘣谛枰牡胤?,從而方便其分析。有兩種設(shè)置斷點(diǎn)的方法,如圖4所示:· 將光標(biāo)移到需要設(shè)置斷點(diǎn)的程序行,點(diǎn)擊工具欄上的“手型”按鈕設(shè)置斷點(diǎn)。· 利

6、用鼠標(biāo)右鍵設(shè)置:在程序行前的空白欄內(nèi)點(diǎn)鼠標(biāo)右鍵,選擇菜單中的Insert/Remove Breakpoints選項(xiàng)可以設(shè)置斷點(diǎn)。圖4設(shè)置斷點(diǎn)及相關(guān)工具設(shè)置了斷點(diǎn)的程序行前會出現(xiàn)一個黑色的實(shí)心圓圈。取消斷點(diǎn)用同樣的按鈕和菜單。Go(F5)命令從程序中的當(dāng)前語句開始執(zhí)行,直到遇到斷點(diǎn)(后面講)或遇到程序結(jié)束?!揪毩?xí)4】在程序中隨意設(shè)置和取消斷點(diǎn)(一個程序中可以根據(jù)需要設(shè)置多個斷點(diǎn)),然后用Go命令(F5)執(zhí)行,觀察變量及程序流程的變化。技巧:在調(diào)試的過程中,可以直接使用Run to Cursor,從而避免多次的用Step Into/Over等命令。如果設(shè)置了斷點(diǎn),直接運(yùn)行程序就可以在斷點(diǎn)處停止,從

7、而避免程序員總得關(guān)注光標(biāo)的位置。一個程序中可以設(shè)多個斷點(diǎn),這也為程序員提供了方便。四、用好快捷鍵和“調(diào)試”工具欄在使用中記住各功能的快捷鍵,這將提高你的工作效率??旖萱I可以從菜單中看到??梢栽诠ぞ邫谔廃c(diǎn)右鍵,選擇“調(diào)試”工具欄,如圖5,工具欄也可以方便你的工作。圖5 調(diào)試工具欄【練習(xí)5】將工具欄中的功能都點(diǎn)一點(diǎn),看一看,想一想,但不求甚解。隨著學(xué)習(xí)的深入,我們會逐步掌握。五、程序調(diào)試方法小結(jié)上面僅介紹了程序調(diào)試的基本方法,但靈活運(yùn)用可以為編寫出正確的程序提供強(qiáng)大的支撐。隨著經(jīng)驗(yàn)的增加,簡短且算法簡單的程序你可能憑觀察就知一二。對需要觀察其運(yùn)行過程的程序,可以這樣做:· 增加必要的斷點(diǎn)(當(dāng)然,嫌疑解除后去除斷點(diǎn));· 如果必要,添加監(jiān)視,以便于觀察一些表達(dá)式的值;· 用Step Into、Step Over、Step Out或Run to Cursor等的組合,跟蹤程序執(zhí)行的過程· 在運(yùn)行過程中,和自己對運(yùn)行結(jié)果的預(yù)期結(jié)合起來,思考程序可能出現(xiàn)的問題。·

溫馨提示

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

最新文檔

評論

0/150

提交評論