?? 030.htm
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基礎教程-->第十二章 異常處理與程序調試(三)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基礎教程 第十二章 異常處理與程序調試(三)">
<META NAME="description" CONTENT=" - DELPHI基礎教程 - 第十二章 異常處理與程序調試(三)">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" bgcolor="#e0e0e0"><strong><A HREF="031.htm"><FONT style="FONT-SIZE: 9pt">后一頁</font></A><BR>
<A HREF="029.htm"><FONT style="FONT-SIZE: 9pt">前一頁</font></A><BR>
<A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR>
<A HREF="../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首頁</font></A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">第十二章 異常處理與程序調試(三)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
</font><p>12.4.3 <font face="宋體" lang="ZH-CN">斷點的使用 </p>
</font><p>12.4.3.1 <font face="宋體" lang="ZH-CN">設置斷點 </p>
<p> 設置斷點首先在</font>Code Editor<font face="宋體" lang="ZH-CN">中選定你想設置斷點的代碼行,而后進行如下的任一種操作:</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">單擊選定代碼行左邊的空白</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">按</font>F5</p>
<font face="宋體" lang="ZH-CN"><p> ●</font> <font face="宋體" lang="ZH-CN">選擇</font>Code
Editor<font face="宋體" lang="ZH-CN">加速菜單的</font>Toggle BreakPoint<font
face="宋體" lang="ZH-CN">項</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">選擇</font>Run|Add Breadpoint<font
face="宋體" lang="ZH-CN">打開斷點編輯對話框</font>(Edit BreakPoint Dialog Box)<font
face="宋體" lang="ZH-CN">,而后選擇</font>New<font face="宋體" lang="ZH-CN">去確認一個新的斷點設置或選擇</font>Modify<font
face="宋體" lang="ZH-CN">去對一個存在的斷點進行修改</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">從</font>BreakPoint List<font
face="宋體" lang="ZH-CN">加速菜單中選擇</font>Add BreakPoint<font face="宋體"
lang="ZH-CN">項 </p>
<p> 斷點必須位于可執行代碼行上,凡設置在注釋、空白行、變量說明上的都是無效的。另外,斷點既可以在設計狀態下設置也可以在運行調試狀態下設置。 </p>
</font><p>12.4.3.2 <font face="宋體" lang="ZH-CN">斷點的操作 </p>
<p> 斷點列表窗口</font>(BreakPoint List Window)<font face="宋體" lang="ZH-CN">列出了所有斷點所在的源文件名、行號、條件以及已通過的次數。如果一個斷點非法或失去功能,則在列表窗口中變灰。</p>
<p> 斷點列表窗口可以通過選擇</font>View|BreakPoint<font face="宋體"
lang="ZH-CN">菜單打開。</font></p>
<font face="宋體" lang="ZH-CN"><p>斷點列表窗口是斷點操作的基礎。</p>
<p> </font>1.<font face="宋體" lang="ZH-CN">顯示和編輯斷點處的代碼</p>
<p> 利用斷點列表窗口可以快速找到斷點在源代碼中的位置。</p>
<p> 首先選定斷點而后從加速菜單中選擇</font>View Source<font
face="宋體" lang="ZH-CN">或</font>Edit Source<font face="宋體" lang="ZH-CN">。此時</font>Code
Editor<font face="宋體" lang="ZH-CN">更新,顯示該斷點位置處的代碼。如果選擇的是</font>View
Source<font face="宋體" lang="ZH-CN">,則斷點列表窗口仍保持活動;如果選擇的是</font>Edit
Source<font face="宋體" lang="ZH-CN">,則</font>Code Editor<font face="宋體"
lang="ZH-CN">獲得輸入焦點,可以在斷點位置修改源代碼。</p>
<p> </font>2.<font face="宋體" lang="ZH-CN">斷點功能的喪失和恢復</p>
<p> 使斷點失去功能可以使斷點從當前程序運行中隱藏起來。假如你定義了一個斷點當前并不需要,但可能在以后使用,則這一功能是很有用的。</p>
<p> 斷點列表窗口加速菜單的</font>Disable BreakPoint<font face="宋體"
lang="ZH-CN">和</font>Disable All BreakPoints<font face="宋體" lang="ZH-CN">項可以使當前選中斷點或所有斷點失去功能。</p>
<p> 加速菜單中的</font>Enable BreakPoint<font face="宋體" lang="ZH-CN">和</font>Enable
All BreakPoint <font face="宋體" lang="ZH-CN">可以使相應斷點恢復功能。</p>
<p> </font>3.<font face="宋體" lang="ZH-CN">斷點的刪除</p>
<p> 斷點刪除可以從</font>Code Editor<font face="宋體" lang="ZH-CN">或斷點列表窗口中進行。</p>
<p> 從</font>Code Editor:</p>
<font face="宋體" lang="ZH-CN"><p> ●</font> <font face="宋體" lang="ZH-CN">把光標停到包含斷點的行并按</font>F5(<font
face="宋體" lang="ZH-CN">或選擇加速菜單的</font>Toggle BreakPoint)</p>
<font face="宋體" lang="ZH-CN"><p> ●</font> <font face="宋體" lang="ZH-CN">單擊包含斷點行左邊的終止符 </p>
<p> 從斷點列表窗口:</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">選中欲刪除的斷點并選擇加速菜單的</font>Delete
BreakPoint<font face="宋體" lang="ZH-CN">項</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">刪除當前所有斷點,則選擇加速菜單的</font>Delete
All BreakPoints<font face="宋體" lang="ZH-CN">項 </p>
</font><p>12.4.3.3 <font face="宋體" lang="ZH-CN">修改斷點屬性 </p>
<p> 斷點列表窗口雙擊選定斷點或從加速菜單中選擇</font>Edit
BreakPoint<font face="宋體" lang="ZH-CN">項,可以打開斷點編輯對話框,用于顯示和修改斷點的屬性。</font></p>
<font face="宋體" lang="ZH-CN"><p>利用斷點編輯對話框可以改變斷點的位置,設置斷點條件。</p>
<p> 斷點條件包括兩種:布爾表示式和通過次數。</p>
<p> </font>Condition<font face="宋體" lang="ZH-CN">編輯框用于設置布爾表達式條件。如果表達式值為真</font>(<font
face="宋體" lang="ZH-CN">或非零</font>)<font face="宋體" lang="ZH-CN">則程序運行在斷點處中止;否則調試器將忽略該斷點。</p>
<p> </font>Pass Count<font face="宋體" lang="ZH-CN">編輯框用于設置通過次數條件,即只有當程序運行在該斷點處通過設定次數時程序運行才在該斷點處中止。這往往用于對循環體內語句的調試。</p>
<p> 有一點應引起注意的是:當</font>Condition<font face="宋體"
lang="ZH-CN">和</font>Pass Count<font face="宋體" lang="ZH-CN">同時設置時,</font>Pass
Count<font face="宋體" lang="ZH-CN">是指滿足條件的通過次數。</p>
<p> 對如下一段程序: </p>
</font><p>var</p>
<p>i,Re,s: Integer ;</p>
<p>begin</p>
<p>s := 1;</p>
<p>Re := 0;</p>
<p>for i:=1 to 100 do</p>
<p>Re:=Re+s*i ;</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN">在</font> Re := Re + s*i;<font face="宋體"
lang="ZH-CN"> 一行設置一斷點。</font></p>
<p><font face="宋體" lang="ZH-CN">若條件設置為: </p>
<p> </font> Condition <font face="宋體" lang="ZH-CN">: </font>i = 3</p>
<p>Pass Count<font face="宋體" lang="ZH-CN">: </font> 4</p>
<font face="宋體" lang="ZH-CN"><p> 則當程序中止時檢測</font>i <font
face="宋體" lang="ZH-CN">的值為</font>7<font face="宋體" lang="ZH-CN">。 </p>
</font><p>12.4.3.4 <font face="宋體" lang="ZH-CN">斷點和程序執行點顏色的設置 </p>
<p> 選擇</font>Option|Environment<font face="宋體" lang="ZH-CN">進入環境設置對話框而后選擇</font>Editor
Colors<font face="宋體" lang="ZH-CN">頁標簽。此時即可對有關項按自己的希望設置背景和前景色。 </p>
</font><p>12.4.4 <font face="宋體" lang="ZH-CN">監視數據的值 </p>
<p> 內置調試器提供了如下的工具用于監視程序中數據的值:</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">監視列表窗口</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">計算</font>/<font face="宋體"
lang="ZH-CN">修改對話框</p>
<p> ●</font> <font face="宋體" lang="ZH-CN">調棧窗口 </p>
</font><p>12.4.4.1 <font face="宋體" lang="ZH-CN">監視表達式 </p>
<p> 監視列表窗口</font>(Watch List Window)<font face="宋體" lang="ZH-CN">顯示程序運行中當前監視表達式的值。</p>
<p> 選擇</font>View|Watches<font face="宋體" lang="ZH-CN">可以打開監視列表窗口。</font></p>
<font face="宋體" lang="ZH-CN"><p>從</font>Code Editor<font face="宋體" lang="ZH-CN">中添加一個監視表達式最方便的方法是:</p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -