?? debug2.html
字號:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta name="generator" content="Microsoft FrontPage 4.0">
<title>Building Applications: Controlling program execution</title>
<meta name="Author" content="kt">
<link type="text/css" href="../jbdocs.css" rel="stylesheet">
</head>
<body bgcolor="#fefef2" style="FONT-SIZE: 9pt">
<a name="controlling_program_execution"></a>
<STRONG><FONT color=#0080FF size=3 >控制程序的執行</font></strong>
<hr>
譯者名字: zdx_nari(JD001)<br>
郵件地址:<A href="mailto:zandx76@hotmail.com">zandx76@hotmail.com</A>
<p>一個調試器最重要的特征就是它可以讓你控制你程序的執行。例如,你可以控制你程序是執行一行代碼,一個完整的方法,還是一個完整的程序塊。通過人為控制程序什么時候應該運行,什么時候應該暫停,你可以快速地經過你知道已正確工作的代碼部分而集中精力于導致問題的那部分。 <!--************************************************************-->
</p>
<a name="running_and_pausing_your_program"></a>
<p><font color="#000080" size="2"><b>運行和掛起你的程序</b></font></p>
<!--BNDX="programs:running;programs:suspending;debugging:suspending and running debugger"-->
<p>當你的程序在調試器中運行時,你需要暫停它從而檢查數據的值。暫停導致調試器掛起你的程序。從而你可以使用調試器來檢查程序特定區域(location)的狀態。
</p>
<p>當你正在使用調試器時,你的程序可以處于兩種可能狀態之一 <em>運行</em> 或者 <em>掛起。</em></p>
<ul>
<li>當調試器工具欄上的 Pause 圖標 <img src="images/db_toolbar_pause.gif" align="top" width="16" height="19"> 可以使用,你的程序正在運行。</li>
<li>當你點擊 Pause 圖標,你的程序就被掛起。當你的程序被掛起時,你可以檢查數據值。調試器工具欄上的步進(stepping)圖標就變得可以使用。
</li>
</ul>
<p>要恢復程序的執行,選擇調試器工具欄的 Resume Program 圖標 <img src="images/db_toolbar_resume.gif" align="top">。當調試過程結束,這個圖標變為 Restart Program 圖標 <img src="images/toolbardebug.gif" align="top"> 并重新開始調試過程。 <!--************************************************************-->
</p>
<a name="resetting_the_program"></a>
<h3><font color="#000080" size="2"><b>復位程序</b></font></h3>
<!--BNDX="debugging:resetting program"-->
<p>在調試期間,可能需要把程序復位至開始。例如,如果程序執行要經過一個錯誤的地方,或者變量/數據結構由于含有不需要的值而被破壞,也許你需要復位你的程序</p>
<p>要結束當前程序的運行,執行以下方法中的一種:</p>
<ul>
<li>選中 <a href="../ui/menus/mrun.html">Run|Reset Program</a>.</li>
<li>點擊調試器工具欄上的 Reset Program 圖標  <img src="images/db_toolbar_reset.gif" align="top">  </li>
</ul>
<p>復位一個程序就釋放了資源并清除了所有的變量設置。然而,復位一個程序并不刪除你已設置的任何斷點或觀察,這使得恢復調試過程變地容易。</p>
<p> 要重新啟動程序,點擊調試器工具欄上的 Restart Program 圖標  <img src="images/toolbardebug.gif" align="top">  <!--************************************************************-->
</p>
<a name="the_execution_point"></a>
<h3><b><font color="#000080" size="2">執行點</font></b></h3>
<!--BNDX="execution point:overview;debugging:execution point"-->
<p>當你處于一個掛起的調試過程時,一個線程的當前執行點的那行代碼在編輯器中被加亮顯示,且在左邊頁有一個綠色的箭頭 <img src="images/greenarrow.gif" align="top"> </p>
<p>執行點標志了將被調試器執行的下一行源代碼。當你在調試器中暫停了程序的執行,所選線程的當前執行點被加亮顯示。執行點總是顯示了將被執行的下一行代碼,無論你將 step over,step into,還是不中斷的執行你的程序。</p>
<p>要找到當前的執行點,使用下面的方法之一:</p>
<ul>
<li>選中 Run|Show Execution Point.</li>
<li>點擊調試器工具欄上的 Show Current Frame 圖標  <img src="images/db_toolbar_showframe.gif">
<p>調試器顯示了當前執行點所在的那塊區域的代碼。執行點的標志是在編輯器的左邊頁有一個綠色的箭頭。那一行的代碼被加亮顯示。
</p></li>
</ul>
<p class="bfig">執行點</p>
<p><img src="images/db_execution_point.gif"></p>
<p>調試時,你可以自由的在編輯器中打開、關閉、通過(navigate)任何文件。由于這一點,很容易失去接下來要執行的程序的蹤跡,或者當前程序作用域(scope)的位置。為了回到執行點,選中 Run|Show Execution Point ,或者, 點擊調試器工具欄上的 Show Current Frame 圖標  <img src="images/db_toolbar_showframe.gif"><!--************************************************************-->
</p>
<a name="managing_threads"></a>
<h3><font color="#000080" size="2"><b>管理線程</b></font></h3>
<!--BNDX="threads:managing;debugging:managing threads"-->
<p>要使用調試器來管理程序中的線程,你可以使用 <a href="debug.html">Threads, call stacks, and data 視圖</a> 和 <a href="debug.html">Synchronization monitors 視圖。</a></p>
<ul>
<li>Threads, call stacks, and data 視圖 顯示了程序中的所有線程組的當前狀態。它也按照方法調用的次序顯示了這個程序所調用的所有方法。這個視圖允許你跟蹤具體的調用,從而到達當前錯誤。你也可以使用這個窗格回到方法被調用的地方。</li>
<li>Synchronization monitors 視圖 顯示了調試程序的所有線程使用的同步監視器及它們的當前狀態</li>
</ul>
<!--************************************************************-->
<a name="split_pane"></a>
<h4><font size="2" color="#000080">使用分離的窗格</font></h4>
<!--BNDX="threads:split pane;Threads, call stacks and data view:split pane"-->
<blockquote class="bsku">這是 JBuilder Professional and Enterprise 的一項屬性。</blockquote>
<p>Threads, call stacks, and data 視圖的默認顯示被分為了兩個窗格。視圖的左邊部分可以來顯示棧結構。右邊部分來顯示左邊被選項的內容,允許右邊部分顯示從線程組到變量的任何東西。例如,如果在左視圖中選擇了一個線程,這個視圖的右邊部分將顯示那個線程的棧結構。或者,如果在左視圖中選擇了棧結構,那么在右視圖中將顯示在那個視圖中可以得到的變量。
</p>
<p class="bfig">Threads, call stacks, and data 視圖分離窗格</p>
<p><img src="images/db_thread_view.gif"> <!--************************************************************-->
</p>
<a name="display_current_thread"></a>
<h4><font size="2" color="#000080"><b>只顯示當前線程</b></font></h4>
<!--BNDX="threads:displaying current;debugging:displaying current thread"-->
<p>要只顯示當前線程的調用棧和數據,</p>
<ol>
<li>顯示 Threads, call stacks, and data 視圖。</li>
<li>右擊這個視圖的空白區。</li>
<li>選中 Show Current Thread Only。除了當前線程以外的所有線程都從視圖中移走。</li>
<li>要重新顯示所有的線程,右擊這個視圖的空白區并點擊 Show Current Thread。</li>
</ol>
<!--************************************************************-->
<a name="display_top_frame"></a>
<h4><b><font size="2" color="#000080">顯示頂端棧結構</font></b></h4>
<!--BNDX="threads:displaying top stack frame;debugging:displaying top stack frame"-->
<p>要顯示當前線程的顯示頂端棧結構 ,點擊調試器工具欄上的 Show Current Frame 圖標  <img src="images/db_toolbar_showframe.gif" align="top">  <!--************************************************************-->
</p>
<a name="choose_stepping_thread"></a>
<h4><font color="#000080" size="2"><b>選擇步進的線程(thread to step into)</b></font></h4>
<!--BNDX="threads:choosing for stepping;debugging:choosing stepping thread"-->
<p>要選擇步進的線程,</p>
<ol>
<li>在 Threads, call stacks, and data 視圖中, 確信顯示了所有的線程。 (右擊并確信 Show Current Thread Only Right-click 選線被關閉)</li>
<li>選擇你要步進的線程。</li>
<li> 右擊并選中 Set Stepping Thread 。圖標變為  <img src="images/db_thread_step.gif">.</li>
</ol>
<!--************************************************************-->
<a name="keep_thread_suspended"></a>
<h4><b><font size="2" color="#000080">維持線程掛起</font></b></h4>
<!--BNDX="threads:keeping suspended;debugging:keeping thread suspended"-->
<blockquote class="bsku">這是 JBuilder Enterprise 的一個選項。</blockquote>
<p>當調試器被掛起,你準備恢復執行,你可以隨意地維持一個線程掛起。這就允許你觀察你想觀察的線程的行為,而不與其它的線程相沖突。</p>
<p>要恢復程序的執行,選中調試器工具欄上的 Resume Program 圖標  <img src="images/db_toolbar_resume.gif" align="top">  。當條時過程被恢復,只有那些不被維持掛起的線程才被恢復。</p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -