簡體   English   中英

監視變量更改時暫停執行?

[英]Pause execution when a watch variable changes?

當監視變量(不是屬性,只是普通變量)發生變化時,是否可以中斷執行以查看更改發生的位置? 我搜索並發現這個問題與看起來不像我正在尋找的屬性有關。

此變量在幾千行代碼中多次使用,但只有在出現問題時才從null更改。 我們正試圖追蹤這個問題。

  1. 在變量周圍創建一個斷點( f9
  2. 右鍵單擊斷點的紅色圓圈,然后單擊“條件...”
  3. 輸入變量名稱,並將收音機更改為“已更改”
  4. 斷點現在應該有一個+表示它是有條件的

但是:坦率地說,我發現以下更簡單,更有效 - 特別是對於田地; 說我們開始:

string name;

我們改變它只是為我們

private string __name;
string name {
    get { return __name; }
    set { __name = value; }
}

並在set線上set一個斷點。 它仍然應該編譯,你可以輕松地看到變化。 對於更復雜的情況:

private string __name;
string name {
    get { return __name; }
    set {
        if(__name != value) {
            __name = value; // a non-trivial change
        }
    }
}

並將斷點放在最內線; 這會繞過設置字段而不實際更改值的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM