1. 程式人生 > >Delphi應用程序的調試(十)調試器選項

Delphi應用程序的調試(十)調試器選項

列表框 png user break 又是 重要 ram 頁面 消息

可在兩個級別上設置調試選項:工程級和環境級。在前面的講解中講解了工程級調試選項,通過主菜單【Project | Options…】打開如下對話框:

技術分享圖片

可在Debugger Options對話框中設置全局級調試選項。從主菜單【Tools | Debugger Options】菜單項調出Debugger Options對話框。

技術分享圖片

在Debugger Options對話框的底部有一個標記為Integrated debugging的復選框,它控制是否使用IDE調試器調試程序。如果選中Integrated debugging復選框,則使用IDE調試器;如果不選中這個選項,則不使用IDE調試器;這意味著當用戶點擊Run按鈕時,程序會執行,但調試器失效,因此所有斷點均不起作用。

調試器選項對話框有四個頁面:General,Event Log, Language Exceptions,OS Exceptions。下面將分別介紹:

1、通用(General)頁面

General頁面是用戶設置通用調試選項的地方,如下圖:

技術分享圖片

【Map TD32 keystrokes on run選項】告訴Code Editor使用Turbo Debugger中使用的鍵擊映射(Turbo Debugger是Borland公司的一個單獨調試器)。如果用戶長期使用Turbo Debugger,並且對它的鍵映射很熟悉,那麽該選項不失為一個好工具。

當程序在調試器下運行時,【Mark buffers read-only on run選項】將Code Editor緩沖區設置成只讀緩沖區。這樣,在調試器下啟動程序後,就不能再編輯源代碼,直至程序終止運行。如果要在調試器期間修改源代碼,則要將此選項關閉。

【Inspector stay on top選項】控制著Debug Inspector窗口是否總位於Code Editor的上面。這時一個好特性,因為當用戶步進式調試代碼時,多數時候都希望Debug Inspector窗口在Code Editor的上面。

當程序運行在調試器下面時,【Rearrange editor local menu on run選項】改變Code Editor快捷菜單的外觀。選中此選項,Code Editor菜單中調試專用菜單項移到菜單頂部,以方便用戶選用。

技術分享圖片不選中狀態菜單

技術分享圖片選中狀態的菜單

2、事件日誌(Event log)頁面

Event Log頁面用於設置Event Log選項。可以選擇一個數來限制同一時間Event Log中可出現的消息條數,也可以不作限制。還可以在Event Log中選擇想看的消息的類型。

技術分享圖片

3、語言異常(Language Exceptions)頁面

技術分享圖片

此頁面用於控制調試器碰到的VCL異常的類型。本頁面上最重要的選項是【Stop on Delphi Exceptions選項】。當選中此選項時,如果出現異常,調試器就會暫停程序執行。當關閉此選項時,調試器就以普通方式處理VCL異常,即彈出一個消息框通知用戶程序所出現的錯誤。

Note

當選中【Stop on Delphi Exceptions選項】時,調試器碰到異常就會暫停,不管用戶程序中是否對該異常做了處理。如果不希望調試器每碰到一個異常都停止,就關閉此選項。這個選項相當於老版本Delphi中的【Break on exception選項】。

【Exception Types to Ignore選項】用於指定被調試器忽略的異常事件的類型。在本表中列出的所有異常事件類型都被調試器忽略,並以缺省方式處理。這與關閉【Stop on Delphi Exceptions選項】的效果一樣。

要往表中增加異常事件類型,點擊Add…按鈕並輸入異常事件類型名稱。例如,要通知調試器忽略“被0除”異常事件,可點擊Add按鈕,並在Exception Type字段輸入EDivByZero。如下圖:

技術分享圖片

添加到該列表中的異常事件類型適用於所有工程。

4、OS(操作系統)異常頁面

該頁面控制調試器或用戶程序是否處理操作系統異常事件。如下圖:

技術分享圖片

當【Handled by選項】設為User program時,碰到異常事件,調試器就中斷程序執行。當這個選項被設為Debugger時,以普通方式處理VCL異常,即彈出一個消息框通知用戶程序中發生的錯誤。

Note

當把【Handled by選項】設置成Debugger時,調試器一碰到異常事件就會中斷程序運行,不管用戶程序是否對異常事件做了處理。如果不希望調試器每碰到一個異常事件就中斷,則要將此選項設為User Program。這個選項相當於老版本Delphi中的【Break on exception選項】。

【On resume】選項確定當重新恢復程序執行後,如何處理異常事件。

Exceptions列表框中列出了可能的操作系統異常事件。要為某個類型設定選項,點擊Exceptions列表中該異常事件類型,然後按要求設定Handled by和On resume選項。Exceptions列表框左邊緣的符號指示異常處理和恢復執行設定。如下圖:

技術分享圖片

小結

調試程序是一項無休止的任務。調試程序不單單是指查程序中的故障。精明老練的程序員在開始創建新工程時就開始學習使用調試器。調試器既是開發工具又是查找故障的工具。大家還要多花時間實際使用調試器,才能精通它。就從現在開始吧。

Delphi應用程序的調試(十)調試器選項