Ответ 1
Простой трюк для Express Edition:
private string myValue;
public string MyValue
{
set
{
if (this.myValue != value) Debugger.Break();
this.myValue = value;
}
}
При отладке моего С# я часто хочу знать , когда значение переменной изменяется, а затем исследует состояние программы.
В настоящее время я делаю это так:
Однако количество требуемых F10 является раздражающим.
Конечно, это было автоматизировано, подумал я. Но я не могу найти эту функцию в своем Microsoft Visual С# Express, что меня удивляет. В конце концов, Watch-list автоматически выделяет измененные значения ярко-красным цветом.
Я что-то пропустил?
Простой трюк для Express Edition:
private string myValue;
public string MyValue
{
set
{
if (this.myValue != value) Debugger.Break();
this.myValue = value;
}
}
Условные точки останова - это то, что вам нужно, но, похоже, они недоступны в Visual Studio Express.
В Visual Studio (не экспресс) способ, которым он работает, заключается в том, что вы создаете условную точку останова с выражением, равным вашему часовому значению, и "Изменено" в качестве условия останова.
Вот как я это делаю в Visual Studio. Установите точку останова, нажав F9 или щелкнув по левому краю. Затем щелкните правой кнопкой мыши по красной точке, которая появится, и выберите команду "Условие". Существуют и другие варианты.
Однако это может не поддерживаться в Visual Studio Express.
вы можете использовать условные точки останова
см. this
Вы можете написать оператор if, который проверяет изменение и имеет точку прерывания в этом операторе if, поэтому он сначала разбивается, затем вы нажимаете "Продолжить", он продолжается до тех пор, пока он не достигнет этой точки останова.
Используйте Debugger.Break на основе некоторого условия выполнения или пойдите правой кнопкой мыши на некоторой точке останова и выберите условный разрыв → изменил
Изменить: dunno об этом в Express
Если вы хотите поймать переменное изменение на некоторой точке останова, а не на то, чтобы точно поймать, где он был изменен, установите точку останова, щелкните его правой кнопкой мыши и выберите "Условие". Скажем, ваше имя переменной X и текущее значение равно A. Введите "X!= A" в поле условия.
Теперь точка останова будет ударяться только после того, как X изменится на некоторое значение, отличное от A.