當你進行調試時,可使用 監視窗口 和 快速監視窗口 來監視變量和表達式。 僅在調試會話期間,這兩個窗口才可用。javascript
監視窗口能夠在調試時一次顯示多個變量。 快速監視對話框一次僅顯示單個變量,並能夠繼續調試以前,必須關閉。html
private static void Main(string[] args) { int a, b, c; a = 1; b = 2; c = 0; for (int i = 0; i < 10; i++) { a++; b *= 2; c = a + b; } Console.WriteLine("Press any key to exit."); // 在調試模式下保持控制檯打開 Console.ReadKey(); }
在c = a + b;行設置斷點,
按F9。java
開始調試經過選擇綠色啓動箭頭或調試 > 開始調試,或按F5。 在斷點處暫停執行。python
打開監視窗口,經過選擇窗口調試 > Windows > 監視 > 觀看 1,或按Ctrl+Alt+W > 1.windows
能夠打開其餘Watch窗口中的,選擇 windows 2, 3,或者4。api
在監視窗口中,選擇空的行,並編輯寫入類型變量a
。 執行相同操做b
和c
。編輯器
繼續進行調試,經過選擇調試 > 單步執行或按F11根據須要以繼續。 for
循環屢次執行時,a b c 的值分別發生變化。ide
在監視窗口中,可使用任何有效的表達式以計算其值。spa
例如,對於前面部分中的代碼,能夠獲取三個值的平均值經過輸入(a + b + c) / 3,
觀看窗口:線程
在監視窗口中計算表達式的規則一般與代碼中的語言表達式的計算規則相同。 若是表達式具備語法錯誤,出現相同的編譯器錯誤,如代碼編輯器中所示。 例如,在上述表達式中的有拼寫錯誤生成中的出現此錯誤監視窗口:
監視窗口中可能會顯示一個帶有兩個波浪條紋圖標圓圈。 此圖標表示調試器會計算該表達式,由於潛在的跨線程依賴關係。 計算代碼須要暫時,運行您的應用程序中的其餘線程,但因爲在中斷模式下,應用程序中的全部線程一般已都中止。 容許其餘線程暫時運行可能對您的應用程序和調試器的狀態的意外的影響能夠忽略斷點和這些線程上的異常等事件。
該功能請參考《Visual Studio 調試系列3 斷點》在條件表達式中使用對象 Id (C#和F#僅)。基本相同。
private static void Main(string[] args) { dynamic student = new { Name = "張三", Age = 25, Sex = "男" }; Console.WriteLine("Name:" + student.Name); Console.WriteLine("Age:" + student.Age); Console.WriteLine("Sex:" + student.Sex); Console.WriteLine("Press any key to exit."); // 在調試模式下保持控制檯打開 Console.ReadKey(); }
監視窗口中顯示這些對象做爲動態對象,從實現的類型建立 IDynamicMetaObjectProvider 接口。
動態對象節點顯示動態成員的動態對象,但不容許編輯成員值。下面3個窗口中都沒法編輯成員值。
在表達式文本框中輸入新的表達式,點擊【從新計算】