熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

DELPHI基礎教程:異常處理與程序調試(二)[4]

2013-11-23 17:50:26  來源: Delphi編程 

   程序調試簡介

  Delphi提供了一個功能強大的內置調試器(Integrated Debugger) 因而對程序的調試不用離開集成開發環境(IDE)就可以進行

  程序錯誤基本可以分為兩類即運行時間錯和邏輯錯所謂運行時間錯是指程序能正常編譯但在運行時出錯邏輯錯是指程序設計和實現上的錯誤程序語句是合法的並順利執行了但執行結果卻不是所希望的

  對於這兩類錯誤調試器都可以幫助你快速定位錯誤並通過對程序運行的跟蹤和對變量值的監視幫助你尋找錯誤的真正原因和解決錯誤的途徑

  程序調試的主要內容可以概括為如下的幾方面

  調試的准備和開始

  控制程序的執行

  斷點的使用

  檢查數據的值

  程序調試只有用戶實際上機操作才能真正掌握在這一節中我們主要對調試中的主要問題和一些關鍵點進行介紹至於一些很細小的問題相信讀者可以在上機實際應用中掌握因而沒有列出

   調試的准備和開始

  在程序開發過程中程序編碼和調試是一個持續的循環過程只有在你對程序進行了徹底的測試後才能交付最終用戶使用為了保證調試的徹底性在調試前應制定一個詳細的調試計劃一般說來應該把程序劃分為幾個相對獨立的部分分別進行調試以利於錯誤的迅速定位確保每一部分程序都按設計的要求運行

  調試計劃准備好後就可以開始程序的調試

  開始一個調試過程包括

  編譯時產生調試信息

  從Delphi裡運行你的程序

  在程序調試過程中程序的執行完全在你的控制之中你可以在任何位置暫停程序的執行去檢查變量和數據結構的值去顯示函數調用序列去修改程序中變量的值以便觀察不同值對程序行為的影響

   產生調試信息

  要使用內部調試器必須選中Option| Environment菜單References頁的Integrated Debugging檢查框缺省情況下該框被選中

  在開始調試前需要使用Symbols Debug Information(調試符號信息)編譯工程文件調試符號信息包含了一個符號表能夠使調試器在程序的源代碼與編譯器產生的機器代碼間建立聯系這樣在程序執行中可以同時查看對應的源代碼

  Delphi 在缺省情況下自動產生調試符號信息在集成開發環境中的開關選項是Option|project菜單Compiler Options頁的Debug Information and Local Symbols檢查框

  當產生的調試符號信息供內部調試器使用時編譯器把調試符號表儲存在每個相應的dcu文件中

  如果希望在集成環境外使用Turbo Debugger則需要把調試信息儲存在最終的 exe文件中為此需要選定Option|Project菜單Linker頁的Include TDW Debug Info檢查框

  由於儲存調試信息大大增加了執行文件的大小因而調試完成後應重新生成一個不包含調試信息的執行文件

   運行程序

  通過調試器(包括內置調試器)運行程序當程序處於等待狀態時調試器可以獲得控制利用調試器的功能來檢查當前程序的狀態通過合理布置屏幕顯示使應用程序運行窗口和Code Editor(代碼編輯器)互不重疊可以讓用戶在它們間方便地切換以觀察代碼執行的效果

  如果希望使用命令行參數來調試程序則可以通過Run|Parameters 菜單打開運行參數對話框進行設置

   程序運行的控制

  程序運行控制的方法和使用如下表

  表  程序運行控制的方法和使用途徑

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  方法 使用途徑

  ───────────────────────────────

  運行到光標位置 ● Code Editor加速菜單的Run to Cursor項

  (Run to Cursor) ● Run主菜單的Run to Cursor項

  ● F

  跟蹤(Trace Into) ● Run主菜單的Trace Into項

  ● Trace Into加速按鈕

  ● F

  步進(Step Over) ● Run主菜單的Step Over項

  ● Step Over加速按鈕

  ● F

  運行到斷點 設置斷點並按正常方式運行

  暫停程序執行 Run主菜單的Program Pause項

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  跟蹤和步進都是一種單步執行方式的含義不同對跟蹤而言它一次執行一條簡單程序語句當碰到包含調試信息的函數或過程調用時則跳入該函數或過程並執行其第一條可執行語句對步進而言它一次執行一條當前模塊的可執行語句而不管該語句是否是函數或過程調用

  運行到光標位置和運行到斷點都是程序正常運行到某一確定的源代碼位置而後進入調試狀態但相對於運行到光標位置而言運行到斷點更為靈活因為斷點一次可設置多個同時也可以對斷點設置一定的條件只有滿足該條件程序運行才會中止

  返回目錄DELPHI基礎教程

       編輯推薦

       Java程序設計培訓視頻教程

       JEE高級框架實戰培訓視頻教程

  Visual C++音頻/視頻技術開發與實戰

  Oracle索引技術

  ORACLEG數據庫開發優化指南

  Java程序性能優化讓你的Java程序更快更穩定

  C嵌入式編程設計模式

  Android游戲開發實踐指南

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/25187.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.