首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 程式偵錯進階工具:監視運算式、評估修改、呼叫堆疊與 Turbo Debugger、WinSight 外部工具實戰

     編輯:Delphi

內建偵錯器核心資料監視工具

1. 監視運算式

監視清單視窗 顯示程式執行期間監視運算式的目前值。開啟方式:View | Watches。從程式碼編輯器新增最便捷:選取運算式 → 右鍵選單 Add Watch。亦可透過 Run | Add Watch、Ctrl+F5、雙擊監視視窗項目、右鍵 Edit 開啟屬性對話框設定運算式、顯示格式與啟用狀態。同中斷點,可用右鍵選單啟用/停用/刪除監視項。

2. 評估/修改運算式

Run | Evaluate/Modify 開啟對話框。點 Evaluate 顯示運算式值於 Result 欄。運算式可包含物件屬性,但不含:目前執行點無法參考的區域/靜態變數、函式/程序呼叫。支援格式字元控制顯示:

格式字元功能
$, H, X十六進位顯示純量值
D十進位顯示純量值
CASCII 0~31 顯示為圖形字元
Fnn 位有效數字顯示浮點數
M十六進位顯示記憶體轉储
P段:偏移格式顯示指標(四位十六進位)
R顯示記錄/物件欄位名與值(如 X:5, Y:2)
SASCII 顯示字串(含特殊字元),用於修改記憶體轉储

修改運算式值常用於驗證修正方案:Evaluate 觀察現值 → New Value 輸入新值 → Modify 確認更新。僅影響特定執行實例。修改指標與陣列索引需極謹慎,可能導致不可預測後果。

3. 顯示函式呼叫堆疊

View | Call Stack 開啟呼叫堆疊視窗,頂端列出最近函式呼叫。可跳出目前追蹤函式,右鍵選單檢視/編輯特定呼叫點的原始碼。

外部偵錯工具補強內建不足

內建偵錯器雖強大,但執行時會微幅改變程式環境,可能影響錯誤重現。外部工具包含 Turbo Debugger、WinSight、WinSpector、Browser(下節專論)。

Turbo Debugger:Borland 第三代語言偵錯器

  • 字元模式介面,但為真正 Windows 程式,不可用 Alt+Tab 切換。
  • 操作與內建偵錯器類似,File | Open 載入檔案開始偵錯。
  • 需將偵錯符號資訊儲存於執行檔(見 12.4.1.1)。
  • 優勢:完整存取 CPU 登錄器、旗標、系統記憶體;可追蹤遠指標至記憶體位址並直接檢視;無原始碼亦可追蹤進程式碼;支援 Windows 訊息追蹤、區域/全域堆檢視、瀏覽含 DLL 在內的所有程式碼模組;支援遠端執行(序列埠或 NetBIOS 網路),雙機模式一機顯示偵錯器、一機運行程式並監視結果。

WinSight:Windows 物件檢視與訊息追蹤

Delphi 程式群組中可找到圖示。介面分二:上方物件樹視窗、下方訊息追蹤視窗。實務操作:

  • 僅關注特定物件訊息:Message | Selected Windows,按住 Shift 點選物件樹中目標物件,其訊息顯示於追蹤視窗。
  • 過濾特定訊息類別:Message | Options,用核取方塊過濾。

本章小結

核心在於強化程式健全度與提升開發效率。先探討 Delphi 異常處理機制,再介紹多種偵錯工具,為邁向大型應用程式開發的高階工程師奠基。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved