12.4 程序調(diào)試簡介
Delphi提供了一個功能強大的內(nèi)置調(diào)試器(Integrated Debugger), 因而對程序的調(diào)試不用離開集成開發(fā)環(huán)境(IDE)就可以進行。
程序錯誤基本可以分為兩類,即運行時間錯和邏輯錯。所謂運行時間錯是指程序能正常編譯但在運行時出錯。邏輯錯是指程序設計和實現(xiàn)上的錯誤。程序語句是合法的,并順利執(zhí)行了,但執(zhí)行結(jié)果卻不是所希望的。
對于這兩類錯誤,調(diào)試器都可以幫助你快速定位錯誤,并通過對程序運行的跟蹤和對變量值的監(jiān)視幫助你尋找錯誤的真正原因和解決錯誤的途徑。
程序調(diào)試的主要內(nèi)容可以概括為如下的幾方面:
1.調(diào)試的準備和開始;
2.控制程序的執(zhí)行;
3.斷點的使用;
4.檢查數(shù)據(jù)的值。
程序調(diào)試只有用戶實際上機操作才能真正掌握。在這一節(jié)中我們主要對調(diào)試中的主要問題和一些關鍵點進行介紹。至于一些很細小的問題相信讀者可以在上機實際應用中掌握,因而沒有列出。
12.4.1 調(diào)試的準備和開始
在程序開發(fā)過程中程序編碼和調(diào)試是一個持續(xù)的循環(huán)過程,只有在你對程序進行了徹底的測試后才能交付最終用戶使用。為了保證調(diào)試的徹底性,在調(diào)試前應制定一個詳細的調(diào)試計劃。一般說來應該把程序劃分為幾個相對獨立的部分,分別進行調(diào)試,以利于錯誤的迅速定位,確保每一部分程序都按設計的要求運行。
調(diào)試計劃準備好后就可以開始程序的調(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í)行中可以同時查看對應的源代碼。
Delphi 在缺省情況下自動產(chǎn)生調(diào)試符號信息。在集成開發(fā)環(huán)境中的開關選項是Option|project菜單Compiler Options頁的Debug Information and Local Symbols檢查框。
當產(chǎn)生的調(diào)試符號信息供內(nèi)部調(diào)試器使用時,編譯器把調(diào)試符號表儲存在每個相應的.dcu文件中。
如果希望在集成環(huán)境外使用Turbo Debugger,則需要把調(diào)試信息儲存在最終的 .exe文件中。為此需要選定Option|Project菜單Linker頁的Include TDW Debug Info檢查框。
由于儲存調(diào)試信息大大增加了執(zhí)行文件的大小,因而調(diào)試完成后應重新生成一個不包含調(diào)試信息的執(zhí)行文件。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |