全國計算機等級考試二級Delphi輔導(dǎo)講義 125

字號:

12.4 程序調(diào)試簡介
    Delphi提供了一個功能強大的內(nèi)置調(diào)試器(Integrated Debugger), 因而對程序的調(diào)試不用離開集成開發(fā)環(huán)境(IDE)就可以進(jìn)行。
    程序錯誤基本可以分為兩類,即運行時間錯和邏輯錯。所謂運行時間錯是指程序能正常編譯但在運行時出錯。邏輯錯是指程序設(shè)計和實現(xiàn)上的錯誤。程序語句是合法的,并順利執(zhí)行了,但執(zhí)行結(jié)果卻不是所希望的。
    對于這兩類錯誤,調(diào)試器都可以幫助你快速定位錯誤,并通過對程序運行的跟蹤和對變量值的監(jiān)視幫助你尋找錯誤的真正原因和解決錯誤的途徑。
    程序調(diào)試的主要內(nèi)容可以概括為如下的幾方面:
    1.調(diào)試的準(zhǔn)備和開始;
    2.控制程序的執(zhí)行;
    3.斷點的使用;
    4.檢查數(shù)據(jù)的值。
    程序調(diào)試只有用戶實際上機操作才能真正掌握。在這一節(jié)中我們主要對調(diào)試中的主要問題和一些關(guān)鍵點進(jìn)行介紹。至于一些很細(xì)小的問題相信讀者可以在上機實際應(yīng)用中掌握,因而沒有列出。
    12.4.1 調(diào)試的準(zhǔn)備和開始
    在程序開發(fā)過程中程序編碼和調(diào)試是一個持續(xù)的循環(huán)過程,只有在你對程序進(jìn)行了徹底的測試后才能交付最終用戶使用。為了保證調(diào)試的徹底性,在調(diào)試前應(yīng)制定一個詳細(xì)的調(diào)試計劃。一般說來應(yīng)該把程序劃分為幾個相對獨立的部分,分別進(jìn)行調(diào)試,以利于錯誤的迅速定位,確保每一部分程序都按設(shè)計的要求運行。
    調(diào)試計劃準(zhǔn)備好后就可以開始程序的調(diào)試。
    開始一個調(diào)試過程包括:
    1.編譯時產(chǎn)生調(diào)試信息;
    2.從Delphi里運行你的程序。
    在程序調(diào)試過程中,程序的執(zhí)行完全在你的控制之中。你可以在任何位置暫停程序的執(zhí)行去檢查變量和數(shù)據(jù)結(jié)構(gòu)的值,去顯示函數(shù)調(diào)用序列,去修改程序中變量的值以便觀察不同值對程序行為的影響。
    12.4.1.1 產(chǎn)生調(diào)試信息
    要使用內(nèi)部調(diào)試器必須選中Option| Environment菜單References頁的Integrated Debugging檢查框。缺省情況下該框被選中。
    在開始調(diào)試前需要使用Symbols Debug Information(調(diào)試符號信息)編譯工程文件。調(diào)試符號信息包含了一個符號表,能夠使調(diào)試器在程序的源代碼與編譯器產(chǎn)生的機器代碼間建立聯(lián)系。這樣在程序執(zhí)行中可以同時查看對應(yīng)的源代碼。
    Delphi 在缺省情況下自動產(chǎn)生調(diào)試符號信息。在集成開發(fā)環(huán)境中的開關(guān)選項是Option|project菜單Compiler Options頁的Debug Information and Local Symbols檢查框。
    當(dāng)產(chǎn)生的調(diào)試符號信息供內(nèi)部調(diào)試器使用時,編譯器把調(diào)試符號表儲存在每個相應(yīng)的。dcu文件中。
    如果希望在集成環(huán)境外使用Turbo Debugger,則需要把調(diào)試信息儲存在最終的 .exe文件中。為此需要選定Option|Project菜單Linker頁的Include TDW Debug Info檢查框。
    由于儲存調(diào)試信息大大增加了執(zhí)行文件的大小,因而調(diào)試完成后應(yīng)重新生成一個不包含調(diào)試信息的執(zhí)行文件。
    12.4.1.2 運行程序
    通過調(diào)試器(包括內(nèi)置調(diào)試器)運行程序,當(dāng)程序處于等待狀態(tài)時,調(diào)試器可以獲得控制,利用調(diào)試器的功能來檢查當(dāng)前程序的狀態(tài)。通過合理布置屏幕顯示,使應(yīng)用程序運行窗口和Code Editor(代碼編輯器)互不重疊,可以讓用戶在它們間方便地切換以觀察代碼執(zhí)行的效果。
    如果希望使用命令行參數(shù)來調(diào)試程序,則可以通過Run|Parameters 菜單打開運行參數(shù)對話框進(jìn)行設(shè)置。