Debugging 可以讓開發人員一步一步的看到程式碼是怎樣運作的,變數的值是如何變化的和物件是怎麼被創造又是怎樣被銷毀的等等。
當一個網頁第一次被執行時,Visual Studio 會彈出一個提示框來詢問Debugging 是否需要啟用:
當debugging 啟用時,下面幾行程式碼將會在web.config 檔案中出現:
<system.web> <compilation debug="true"> <assemblies> .............. </assemblies> </compilation> </system.web>
Debugging 工具列提供所有debugging 所需的工具:
斷點規定程式在運行時在運行完指定的程式碼行之後立即停止運行,這樣可以測試程式碼並且完成各種各樣的debugging 工作,例如,觀察變數值的變化,單步調試程式碼,函數方法的跳入跳出等。在程式碼上點選右鍵選擇插入一個間斷點來設定斷點。然後在左邊會出現一個紅點並且該行程式碼被高亮顯示,效果如圖所示:
之後你運行這段程式碼,將會觀察到斷點的行為。
在這個階段,你可以單步調試程式碼,觀察運行的流程和變數值、屬性、物件等。
如果你需要修改斷點屬性,你可以在斷點標誌上點選右鍵,在「屬性」選單中找到:
location 對話方塊顯示檔案所在位置,以及選取的程式碼所在行數和字元數。 condition 選單允許你輸入一個有效的表達式來估算程式是否運行到了斷點:
Hit Count 選單顯示一個對話方塊來顯示斷點被運行的次數。
點擊下拉式選單中的任何一個選項會開啟一個用來輸入命中次數的編輯框。這在分析循環結構的程式碼時非常有用。
Filter 選單允許設定一個對特定機制、過程、執行緒或是任何組合的過濾使斷點對它們生效。
When Hit 選單可讓你來指定當斷點命中時的動作。
Visual Studio 提供下面的debug 窗口,其中每一個都顯示一些程式資訊。下表列出了一些視窗:
視窗 | 描述 |
---|---|
直接 | 顯示變數和表達式。 |
自動 | 顯示目前所有變數以及先前的狀態。 |
本地 | 顯示目前上下文的所有變數。 |
觀察 | 顯示多達四個不同集合的變數。 |
呼叫堆疊 | 顯示呼叫棧中的所有方法。 |
執行緒 | 顯示並控制線程。 |