Visual Studio 2005 在偵錯體驗上實現了質的飛躍:編輯並繼續 讓修改程式碼無需重新啟動偵錯,視覺化偵錯器 讓複雜物件一目了然,資料提示、例外助手、Just My Code、物件識別 更將偵錯效率推向新高度。本文將逐一實測這六大核心功能。
場景:偵錯發現邏輯錯誤(如字串拼接錯誤),欲即時修正並繼續執行。
// 修正前
MessageBox.Show("Welcome textbox1.Text to Edit and Continue.");
// 修正後
MessageBox.Show("Welcome " + textbox1.Text + " to Edit and Continue.");

限制:不支援變更方法簽章、加減類別成員、異步方法、Lambda 等結構性變更。
在 Autos/Locals/Watch/QuickWatch 視窗,點擊變數旁的放大鏡圖示,選擇視覺化檢視器:
DialogDebuggerVisualizer

偵錯中斷時,將滑鼠游標移至變數上,自動顯示屬性值、巢狀結構。支援在提示視窗中右鍵選單直接編輯數值(結合編輯並繼續)。

取代 VS 2003 簡陋的例外對話框,提供:

自動跳過非使用者程式碼(無 PDB 的 Release 組件、標記 [DebuggerNonUserCode] 的方法),單步執行 (F11) 直接穿透。
[DebuggerNonUserCode]
static void NonUserCode() { ... } // 偵錯器將跳過此方法
static void Main() {
UserCode(); // 會中斷
NonUserCode(); // F11 直接穿透
UserCode(); // 會中斷
}
啟用:工具 → 選項 → 偵錯 → 一般 → 勾選「啟用 Just My Code」
在 Watch 視窗右鍵物件選擇 Make Object ID,系統分配編號(如 1#),偵錯期間全域可用此別名存取,避免冗長路徑。
this.northwindDataSet.Orders1#1# 直接存取

這六大功能將「偵錯」從痛苦的試錯過程,轉變為可視化、可互動、可聚焦的高效工程作業。掌握它們,是每位 .NET 開發者邁向資深的必修課。