delphi初级教程之delphi断点调试二
四、模塊斷點
要監視模塊的第一次加載,可以使用【Run】菜單中的【Add Breakpoint】命令,再選 擇【Module Load Breakpoint】,出現【Add Module】對話框,如圖 模塊斷點1 所示。
模塊斷點1
在【Module? Name】框內指定一個要監視的模塊,通常是 DLL 或 BPL。也可以單擊
【Browser】按鈕定位一個模塊。以后,當這個模塊第一次被調入內存時,程序就會暫停, 由調試器接管控制權,就好像遇到斷點一樣。
五、指定遇到斷點時的行為
一般來說,當遇到斷點時,程序將暫停。不過,在
Delphi 中,除了使程序暫停外,還可以指定其他行為。 要指定遇到斷點時的行為,可以在設置斷點時進行。
使用【Run】菜單中的【Add Breakpoint】命令,再選擇 一種斷點類型,Delphi 將打開【Add Breakpoint】對話框。 然后,單擊【Advanced】按鈕,彈出【Add Breakpoint】 對話框,如圖 斷點行為 所示。
如果選中【Break】復選框,當遇到斷點時,程序將暫停。這是默認的行為。
如果選中【Ignore subsequent exceptions】復選框, 以后將忽略當前進程觸發的異常,也就是說,遇到異常時調試器不會停止。這個復選框與下面的【Handlesubsequent exceptions】復選框成對使用,可以使一段代 碼忽略異常。
如果選中【Handle subsequent exceptions】復選框,以后將處理當前進程觸發的異常,也就是說,當調試器 遇到【Debugger Options】對話框中指定的異常時將停止。
?
? ? ? ? ? ? ? ? ? ?指定遇到斷點時的行為
【Log message】框用于讓用戶指定一個消息。當遇到斷點時,將記載這個消息。
【Eval expression】框用于讓用戶指定一個表達式。如果下面的【Log result】復選框被 選中的話,當遇到斷點時,將計算這個表達式并記載計算結果。
【Enable group】框可以使一組斷點有效。
【Disablegroup】框可以禁止一組斷點。 如果一個斷點被指定了多個行為,則當遇到斷點時,將依次執行這些行為。
六、斷點列表窗口
如果定義了很多斷點,或者斷點不在當前的編輯窗口中,可以通過斷點列表窗口來查找斷點并且在源代碼中定位它。
使用【View】菜單中的【Debug? Windows】命令,再選擇【Breakpoints】,Delphi 將 打開斷點列表窗口,如圖 斷點列表?所示。
? ? ? ? ? ? ?斷點列表
對于源代碼斷點來說,斷點列表窗口將顯示斷點所在的源文件名稱、行號、條件和經過次數。
對于機器指令斷點來說,斷點列表窗口將顯示斷點所在的源文件名稱、行號加一個16進制的偏移量,這個偏移量就是該指令距離源代碼行機器指令起始點的字節數。不過,有 時候,一條機器指令并不一定對應著一條源代碼行,此時,就不顯示行號。
對于數據斷點,斷點列表窗口將顯示數據的名稱或地址以及長度。
Delphi 的斷點列表窗口還有兩欄,分別用于顯示斷點的行為和所屬的組名。 要在源代碼中定位斷點所在的行,或者在 CPU 窗口中定位斷點所在的機器指令,可以在斷點列表窗口中用鼠標右鍵單擊某個斷點,在彈出的菜單中選擇【View Source】或【Edit Source】命令。如果選擇【ViewSource】命令,光標將定位于要找的斷點上,但斷點列表窗口仍然是當前活動的窗口,以便繼續在斷點列表窗口中查找其他斷點。如果選擇的是【EditSource】命令,代碼編輯器將成為當前活動的窗口,這樣就可以編輯源代碼。
七、刪除斷點
刪除斷點并不是刪除斷點所在的行或指令,只是取消斷點的定義,程序執行到這兒不會暫停。
如果僅僅要刪除一個斷點,有下列幾個操作方式。
(1) ?在斷點列表窗口中用鼠標右鍵單擊斷點,在彈出的菜單中選擇【Delete】命令。
(2) ?在斷點列表窗口中選擇一個斷點,然后按 Delete 鍵或按 Ctrl+D 鍵。
(3) ?在代碼編輯器或 CPU 窗口中用鼠標右鍵單擊斷點,在彈出的菜單中選擇【Debug】 命令,再選擇【Toggle Breakpoint】。
(4) ?在代碼編輯器或 CPU 窗口中把光標移到斷點上,按下 F5 鍵。 (5)?在代碼編輯器或 CPU 窗口中用鼠標左鍵單擊斷點的最左端。如果要刪除所有斷點,可以在斷點列表窗口中單擊鼠標右鍵,在彈出的菜單中選擇【DeleteAll】命令。
總結
以上是生活随笔為你收集整理的delphi初级教程之delphi断点调试二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: delphi初级教程之delphi断点调
- 下一篇: Delphi使用ADO组件访问ACCES