下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、程序調(diào)試方法和技巧一、 改正程序的編譯期錯誤源程序編制完成后,首先由C編譯程序編譯成.obj文件,再由連接程序連接成可執(zhí)行文件。在編譯時,如果源程序存在語法錯誤(errors),則系統(tǒng)不允許連接,直到改正了所有的語法錯誤后,才能進行連接。另外,編譯時還可能存在另一類錯誤,即警告性錯誤(warnings),這類錯誤一般不影響程序的連接,在很多情況下也不影響程序的執(zhí)行結(jié)果,但建議還是盡量把這類錯誤改正。選擇編譯菜單(Compile)(或者直接單擊快捷工具欄上的編譯按鈕)對編譯好的源程序進行編譯,在集成環(huán)境下方的OutPut窗口中將會顯示相應(yīng)的編譯信息(若OutPut窗口沒有出現(xiàn),則可以在快捷工具欄
2、上右鍵單擊并在彈出的菜單中選擇OutPut菜單項即可打開(或關(guān)閉)OutPut窗口)。若程序編譯沒有發(fā)現(xiàn)錯誤,則該窗口中顯示“*.exe - 0 error(s), 0 warning(s)”,這時可以進行程序的連接;若編譯后存在語法錯誤或警告錯誤,該窗口中則顯示兩類錯誤的個數(shù),并列出相應(yīng)的錯誤位置和原因。改正編譯期錯誤的方法和一般原則為:1 改正錯誤時一般從第一個錯誤開始,然后依次改正后續(xù)的錯誤。因為前面錯誤的出現(xiàn),往往會導(dǎo)致編譯系統(tǒng)在編譯時錯位,把本來正確的語句認為是錯的,也可能把某些語句的錯誤掩蓋掉。所以當改正了前面的錯誤后,可能會使錯誤量減少很多,也可能增加很多;2 在OutPut窗口
3、中雙擊指定錯誤,則系統(tǒng)會自動定位到該錯誤出現(xiàn)的位置,并在錯誤語句前面用一個藍色子彈頭標識。注意,該標識只是告訴程序員編譯時在此位置出錯了,真正的錯誤可能出現(xiàn)在該標識語句的前一語句或后一語句,如函數(shù)定義時,在小括號后加了分號,錯誤標識將出現(xiàn)在左大括號處;3 根據(jù)情況,每改正一個或幾個錯誤后,應(yīng)重新編譯一下,然后再從第一個錯誤進行改錯,直到所有錯誤都被改正過來。二、 程序執(zhí)行時的調(diào)試實踐中發(fā)現(xiàn),往往很小的程序在執(zhí)行時也會出現(xiàn)錯誤。當一個程序可以被連接成功,但執(zhí)行時卻存在不正?,F(xiàn)象,如不能得到預(yù)期的運行結(jié)果或出現(xiàn)死機等,而一下子又很難找出出錯原因時,可以采取以下方法查錯、改錯。1 單步跟蹤執(zhí)行命令單
4、步跟蹤執(zhí)行程序,能夠清楚地看到程序的一步步執(zhí)行過程,從而判斷出源程序的執(zhí)行流程是否與事先設(shè)計的流程一致,從中發(fā)現(xiàn)造成死循環(huán)或死機的原因所在。C集成環(huán)境提供的單步跟蹤命令有“Step Into”和“Step Over”兩種,當選擇這兩個命令時,程序進入DEBUG(調(diào)試)狀態(tài),并在main函數(shù)的左大括號處出現(xiàn)一個黃色的子彈頭標識,意味著程序從此處開始執(zhí)行,以后每執(zhí)行一次這兩個命令之一,則程序執(zhí)行一行,若程序每一行只有一個語句,則相當于一次執(zhí)行了一個語句。這兩個命令的區(qū)別如下:l “Step Into”:對應(yīng)的快捷鍵為F11,在單步執(zhí)行過程中,若當前執(zhí)行的語句是函數(shù)調(diào)用語句,則執(zhí)行一次該命令將會跟蹤
5、至被調(diào)用函數(shù)內(nèi)部繼續(xù)單步跟蹤執(zhí)行。l “Step Over”:對應(yīng)的快捷鍵為F10,在單步執(zhí)行過程中,若當前執(zhí)行的語句是函數(shù)調(diào)用語句,也不會跟蹤到被調(diào)用函數(shù)內(nèi)部執(zhí)行,而是直接把該函數(shù)調(diào)用作為一個語句一次執(zhí)行完成,到當前函數(shù)的下一語句繼續(xù)跟蹤執(zhí)行。在具體操作時,這兩種單步跟蹤命令往往配合使用:一般先使用“Step Over”命令單步跟蹤執(zhí)行,當執(zhí)行到某函數(shù)調(diào)用處時,如果需要跟蹤至被調(diào)用函數(shù)內(nèi)部,則再使用一次“Step Into”,然后繼續(xù)使用“Step Over”命令。2 執(zhí)行到光標所在行命令該命令可以一次執(zhí)行到鼠標光標所在的程序語句位置。在進行程序的調(diào)試時,有時能夠確認在某語句之前的所有語句都
6、是正確的,如果對這些語句進行單步跟蹤會增加不必要的調(diào)試時間,此時可以使用該命令,執(zhí)行讓程序執(zhí)行到光標所在行,然后在配合單步跟蹤,能夠有效地提高調(diào)試的效率。該命令對應(yīng)的快捷鍵為:CtrlF10。3 設(shè)置斷點命令設(shè)置斷點是另一種能夠快速執(zhí)行到程序指定行的方法:首先把光標停在需設(shè)置斷點的位置,然后按F9(或工具欄上的“手形”按鈕),則在指定行出現(xiàn)一個紅色的實心圓,表示一個斷點設(shè)置完畢。如果需要設(shè)置其它的斷點,則重復(fù)以上步驟即可。斷點設(shè)置完畢,按F5,則程序一次性執(zhí)行到第一個斷點所在位置,以后每按一次F5,程序?qū)?zhí)行到下一斷點,執(zhí)行程序執(zhí)行完畢。在執(zhí)行過程中,也可以增加其它的斷點。在有斷點的位置,再按
7、一次F9(或工具欄上的“手形”按鈕),則可以取消該斷點的設(shè)置。在編制的程序比較短,特別是只有一個源程序文件的情況下,單步跟蹤和執(zhí)行到光標所在行命令已經(jīng)能夠很好地完成調(diào)試任務(wù)。該命令在多文件組織的程序中能夠有效地發(fā)揮其調(diào)試功能。4 觀察程序執(zhí)行過程中變量和表達式值的變化在使用以上命令進行調(diào)試過程中,通過觀察當前執(zhí)行點相關(guān)變量或表達式的值,能夠有效地發(fā)現(xiàn)錯誤出現(xiàn)的原因和位置。在調(diào)試狀態(tài)下,集成環(huán)境窗口下方會出現(xiàn)兩個窗口(如果這兩個窗口沒有出現(xiàn),可以在調(diào)試狀態(tài)下右鍵單擊工具欄空白處,在彈出的菜單中進行選擇),如圖FL2.1所示。FL2.1 調(diào)試窗口變量窗口觀察窗口一個是變量(Variables)窗口,另一個是觀察(Watch)窗口,前者實時地列出了當前執(zhí)行點前后最近位置的變量的當前值。后者提供了4個觀察子頁面,可以在其中任何一個頁面中輸入想觀察值的變量或表達式,然后觀察其值。該調(diào)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年貸款援助就業(yè)合同3篇
- 2024年零售店店長專屬聘用協(xié)議
- 2024年跨國品牌許可使用合同
- 2024年藝術(shù)品交易協(xié)議樣式版B版
- 2024年設(shè)備采購與工程設(shè)計合同
- 2024航空公司與旅行社之間關(guān)于機票銷售的合同
- 2025年度熱帶水果店專業(yè)承包合作協(xié)議3篇
- 2024年陶幻離婚后個人隱私保護及信息共享協(xié)議3篇
- 2025年度大連市二手房地產(chǎn)交易合同備案與登記服務(wù)合同3篇
- 2024高空作業(yè)安全協(xié)議書搭雨棚
- 2022-2024年浙江中考英語試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 【可行性報告】2024年第三方檢測相關(guān)項目可行性研究報告
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(原卷版)
- 藏醫(yī)學(xué)專業(yè)生涯發(fā)展展示
- 信息安全保密三員培訓(xùn)
- 2024新版《藥品管理法》培訓(xùn)課件
- DB41T 2302-2022 人工影響天氣地面作業(yè)規(guī)程
- 【初中語文】2024-2025學(xué)年新統(tǒng)編版語文七年級上冊期中專題12:議論文閱讀
- 四川省成都市2022-2023學(xué)年高二上學(xué)期期末調(diào)研考試物理試題(原卷版)
評論
0/150
提交評論