要讓程序繼續執行,只要按下「Continue」按鈕就會執行目前斷點以下的程序代碼。由于我們這個例子在循環中執行,因此程序執行下一個I 時又會停在這一行。由于剛才我們把I 的值改成1,所以只要再按兩次Continue 后I 的值為3,程序執行完畢;最后網頁出現我們程序的結果:
Step...
要更詳細的執行程序,可以使用Step Into、Step Over 以及Step Out。我們以下列程序為例:
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As EventArgs)
Dim I As Short
For I = 0 To 5
Test(I)
Next
End Sub
Sub Test(ByVal J As Short)
Response.Write("I=")
Response.Write(J.ToString())
Response.Write("<br>")
End Sub
</Script>
上述范例中我們在呼叫Test 這個程序的敘述加入斷點,然后瀏覽EX11.aspx,即進入中斷模式;如下圖所示:
我們按下「Step Into」按鈕,發現黃色箭頭即往下移動一行,再按「Step Into」一次,程序即跳入Test 這個程序中執行:
接下來我們直接按下「Step Out」按鈕,發現程序的執行跳出Test 這個程序,而停留在呼叫Test這個程序的下一行敘述:
「Step Out」不是逐行執行,而是一口氣將程序內的所有程序代碼執行完畢,再跳到呼叫該程序的下一行。接下來我們按下「Step Over」按鈕,發現程序還是一次執行一行,而停在「Test(I)」這個敘述上。我們再按一次「Step Over」按鈕時,發現程序并沒有跳入Test 程序中,而是停留在「Next」上面,如下所示:
這是因為「Step Over」遇到過程調用時,一次就將程序內的程序執行完畢,并不一行一行的執行所致。
Locals Window
我們在上述例子追蹤程序時,對于變量的檢視還要跳到實時運算窗口輸入「?」來觀察,實在不太方便。此時我們可以利用Locals Window(區域窗口),Locals Window 可以列出目前所在程序中的所程序階層變量以及對象的值,如下圖所示:
我們觀察到變量I 的內容為1,而且型態為Short。其中除了變量I 之外,還一并列出了其它項目。Me 代表目前的Page 對象,我們可以展開來觀察Page 對象的所有成員,而Sender 表示觸發此程序的對象為何,e 則是代表參數對象的內容。當我們再按一次「Step Over」時,發現LocalWindow 中的變量I 自動由1 更新為2:
Locals Window 除了可以顯示變量以及對象的內容外,在Locals Window 中也可以直接修改變量或對象的值。例如我們將I 的值更改為3,如下圖所示:
接下來我們按下「Step Into」按鈕跳入Test 程序中,發現Locals Window 會自動顯示Test 程序中的變量J,如下所示:
Call Stack
Call Stack 可以讓我們追蹤程序之間的呼叫關系。程序在執行的時候若遇到過程調用,原來的程序便會暫時停止執行而進入程序中執行;待程序執行完畢后,才又會回到原先的程序中執行。此時這些程序的執行就像堆積木一樣,先執行的放下面,后執行的再堆上去;必須要等到后面堆上去的程序執行完畢后,才執行迭在下方的程序。這種執行的方式我們稱為「先進后出」,也可以稱為「堆?!?。一但程序比較復雜時,一定會有這種程序內呼叫其它程序的狀況,此時要追蹤這種我們稱為「堆?!沟倪^程調用,就可以利用「Call Stack」。由于剛剛我們跳入了Test 這個程序內,我們知道Test 程序是在Page_Load 事件程序中被呼叫的,所以除了Test 目前是最高層的程序之外,它的下一層就是Page_Load 程序。我們按下「Call Stack」按鈕來觀察,如下圖所示:
我們發現Call Stack 窗口中的最上層對象果然是Test 程序,并且在前面用黃色箭頭標注,表示目前程序在這個程序中執行。如果我們要追蹤Test 程序被上層所呼叫的地址,還可以在Page_Load 程序上雙擊鼠標左鍵,除錯器便會以綠色箭頭標出,如下圖所示:
Quick Watch
Quick Watch(快速檢視)是另外一種可以快速檢視變量值的窗口。我們可以將鍵盤光標停在想要觀察的變量上,然后按下「Quick Watch」按鈕或按鼠標右鍵選擇,如下圖所示:
選擇「Quick Watch」后即出現變量的數據,如下圖所示:
另外注意立即運算窗口以及Quick Watch 可以檢視的變量,只限制于目前所在的程序內。
Watch Window
Watch Window(監視窗口)是另一個可以檢視變量值的工具,我們點選「Watch Window」顯示Watch Window,如下圖所示:
接下來我們可以在想要監視的變量上按鼠標右鍵,選擇「Add Watch」;或是先將變量標記下來,然后利用拖放的方式將變量拖到Watch Window,如下圖所示:
而Watch 窗口中顯示的值可以在10 進制或16 進制切換,只要在Watch 窗口中按下右鍵并核取或取消「Hexadecimal Display」選項,即可切換顯示的方式。
接著我們用Step Into 按鈕逐行執行,可以看到變量的內容變化。