2026-06-28 可以在 visual studio 2022 run C# 時看變數的變化嗎?
2026-06-28 可以在 visual studio 2022 run C# 時看變數的變化嗎?
我:
可以在 visual studio 2022 run C# 時看變數的變化嗎?
GPT:
在 Visual Studio 2022 中,你可以使用「偵錯模式」(Debug Mode)來查看程式執行時變數的變化。以下是幾個在 Debug Mode 中追蹤變數變化的常用方式:
設置斷點(Breakpoint):
- 在想要暫停的程式碼行號旁邊的灰色區域點一下,或按
F9,設置一個斷點。執行程式時,當程式執行到斷點位置會自動暫停,進入 Debug 模式。
- 在想要暫停的程式碼行號旁邊的灰色區域點一下,或按
查看「本地變數」視窗(Locals Window):
- 當程式暫停在斷點時,可以打開 Locals 視窗(「偵錯」 > 「視窗」 > 「本地變數」),會顯示當前範圍內所有變數的值和型別。
使用「監視」視窗(Watch Window):
- 在 Watch 視窗中,你可以指定特定變數來觀察,甚至可以加入運算式來觀察其值變化。
- 可以開啟 Watch 視窗:在 Debug 模式中選擇「偵錯」>「視窗」>「監視」,然後加入你想觀察的變數名稱或運算式。
立即視窗(Immediate Window):
- 在 Debug 模式中,開啟 Immediate 視窗可以直接執行程式碼來檢查變數或執行方法。
- 可使用 Immediate 視窗來檢查特定變數的值,比如輸入
product.Price查看Price的變化。
快速監視(Quick Watch):
- 在 Debug 模式下,右鍵點選某個變數或表達式,選擇 Quick Watch(快速監視),可以直接查看該變數的值並持續追蹤。
通過這些工具,你可以更精確地跟蹤程式執行時的每個變數變化,以了解其邏輯或排查問題。
我:
Watch Window 找不到
GPT:
若在 Visual Studio 2022 中找不到「Watch Window」(監視視窗),可以按照以下步驟來啟用它:
確保進入 Debug 模式:
- 按
F5或點擊工具列上的「開始偵錯」(Start Debugging)按鈕來啟動偵錯模式,讓程式執行到斷點或暫停。
- 按
開啟 Watch 視窗:
- 在 Debug 模式中,點選 Visual Studio 的頂部選單,依序選擇「Debug」 > 「Windows」> 「Watch」。
- Watch 共有四個窗口可以選擇(Watch 1、Watch 2、Watch 3、Watch 4),可以根據需求選擇其中一個來查看或監視變數。
手動顯示 Watch 視窗(如果還是找不到):
- 按下
Ctrl + Alt + W,接著按1,可以打開「Watch 1」窗口。如果需要使用其他 Watch 視窗,可以更改最後的數字(2、3、或 4)。
- 按下
確認視窗是否被最小化或隱藏:
- Watch 視窗可能停靠在 Visual Studio 的側邊欄,或以選項卡形式顯示。如果已開啟但沒有看到它,檢查 Visual Studio 側邊欄的窗口選項卡。
這樣應該可以找到並開啟 Watch 視窗來觀察變數。
我:
public class Product
{
public string ItemNo { get; set; } = string.Empty;
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public decimal Price { get; set; } = decimal.Zero;
}
我想要在偵錯時,看上列這個 model 值的變化
GPT:
要在偵錯時查看 Product 類別中的屬性值變化,可以使用 Visual Studio 中的 Watch 視窗或 Autos 視窗。以下是查看變數的方式:
設定斷點:在
Product類別使用的代碼行上(如new Product()或呼叫AddItem時),點擊行號旁邊的灰色欄位,設置一個斷點。這樣,程式執行會暫停在該行。使用 Autos 或 Locals 視窗:當程式暫停時,您可以在 Autos(自動變數)或 Locals(本地變數)視窗中看到該行周圍變數的值。在這些視窗中,展開
Product變數,即可查看ItemNo、Name、Description和Price的值。使用 Watch 視窗:如果找不到 Watch 視窗,可以從 Debug > Windows > Watch > Watch 1 開啟。在視窗中輸入變數名稱,例如
MyStorage.GetItems()[0].ItemNo(查看第1個產品的ItemNo)來監看特定屬性。
這樣您就可以在程式執行過程中觀察 Product 類別屬性的變化!