Visual Studio 調試系列5 檢查變量(使用自動窗口和局部變量窗口)

在調試時,「自動變量」和「局部變量」窗口會顯示變量值。 僅在調試會話期間,這兩個窗口才可用。 「自動變量」窗口顯示當前斷點周圍使用的變量。 「局部變量」窗口顯示在局部範圍內定義的變量,一般是當前函數或方法。html

若要打開「自動變量」窗口,請在調試時依次選擇「調試」 > 「窗口」 > 「自動變量」,或按 Ctrl+Alt+V > A 調試。數組

若要打開「局部變量」窗口,請在調試時選擇「調試」 > 「窗口」 > 「局部變量」,或按 Alt+4。函數

01 使用自動和局部變量窗口
數組和對象在「自動變量」和「局部變量」窗口中顯示爲樹形控件。 選擇變量名稱左側的箭頭可展開視圖,以顯示字段和屬性。

「局部變量」或「自動變量」窗口中的紅色值表示自上次評估後值已更改。 此更改多是在上一個調試會話中進行的,也多是在窗口中更改了值。
 當集合中加入一條記錄時,sharps 對象的 Count 屬性發生變動,因此用紅色標註。

調試器窗口中的默認數字格式爲十進制。 若要將其更改成十六進制,請在「局部變量」或「自動」窗口中右鍵單擊,而後選擇「十六進制顯示」。 此更改會影響全部調試器窗口。工具

02 編輯自動或局部變量窗口中的變量值

若要編輯「自動」或「局部變量」窗口中大多數變量的值,請雙擊該值並輸入新值。spa

編輯完成後,按下回車鍵即生效,紅色標註。線程

你能夠輸入表達式做爲一個值,例如 a + b。 調試器接受大多數合法的語言表達式。調試

在更改值和表達式以前,請確保你瞭解其後果。 一些可能存在的問題有: code

(1)計算某些表達式可能會更改變量的值或以其餘方式影響程序的狀態。 例如,計算 var1 = ++var2 會更改 var1 和 var2 的值。聽說這些表達式具備反作用。 若是你不瞭解這些反作用,則可能會致使意外結果。htm

(2)編輯浮點值時,因爲要將小數部分從十進制轉換爲二進制,所以所得的結果可能存在微小偏差。 對象

         甚至看起來可有可無的編輯都能引發浮點變量中的位的某些更改。

03 在自動或局部變量窗口中搜索

您能夠搜索的名稱、 值和類型的列中的關鍵字自動或局部變量使用上面的每一個窗口的搜索欄的窗口。 按 ENTER 或選擇其中一個箭頭,以執行搜索。 若要取消正在進行的搜索,請在搜索欄中選擇"x"圖標。

使用左右箭頭鍵 (Shift + F3 和 F3,分別) 之間進行導航找到匹配項。

 若要使搜索更多或更少全面,使用搜索更深刻地頂部的下拉列表中自動或局部變量窗口可選擇要搜索到的層深度嵌套的對象。

04 更改「自動」或「局部變量」窗口的上下文

可以使用「調試位置」工具欄選擇所需的函數、線程或進程,這將更改「自動」和「局部變量」窗口的上下文。

若要啓用調試位置工具欄上,單擊工具欄區域和選擇的空白部分調試位置從下拉列表中或選擇視圖 > 工具欄 > 調試位置。

設置斷點並開始調試。 命中斷點時,執行暫停,你能夠在「調試位置」工具欄中看到相應位置。

05 查看方法調用的返回值

在.NET 和 C ++ 代碼中,當單步調試或退出方法調用時,能夠在「自動」窗口中檢查返回值若是方法調用返回值未保存在局部變量中,查看這些返回值會很是有用。 方法能夠用做參數或用做另外一種方法的返回值。

例如,下面的 C# 代碼將添加兩個函數的返回值:

 1 static void Main(string[] args)
 2 {
 3     int a, b, c, d;
 4     a = 1;
 5     b = 2;
 6     c = 3;
 7     d = 4;
 8     int x = sumVars(a, b) + subtractVars(c, d);
 9     
10     Console.WriteLine("Press any key to exit."); // 在調試模式下保持控制檯打開
11     Console.ReadKey();
12 }
13 
14 private static int sumVars(int i, int j)
15 {
16     return i + j;
17 }
18 
19 private static int subtractVars(int i, int j)
20 {
21     return j - i;
22 }

要在「自動」窗口中查看 sumVars() 和 subtractVars() 方法調用的返回值,請執行如下操做:

  1. 在 int x = sumVars(a, b) + subtractVars(c, d); 行上設置斷點。

  2. 開始調試,當執行在斷點處暫停時,選擇「單步跳過」或按 F10。 應該在「自動」窗口中看到如下返回值:

相關文章
相關標籤/搜索