Любой способ установить значение, зависящее от точки останова? - PullRequest
1 голос
/ 08 декабря 2010

Я хочу знать, есть ли способ в Visual Studio 2008 установить значение точки останова? Например, есть переменная с именем test, и я хочу, чтобы код останавливался на любой строке во всем проекте, где значение этой переменной изменяется ..?

То есть, я не хочу, чтобы какая-то конкретная точка останова была ... Я просто хочу, чтобы Visual Studio остановился на строке кода, где вносится изменение в некоторую переменную ..

Код, который я имею, очень сложен, и мне было бы намного легче отладить код, если бы я каким-то образом смог получить упомянутую функциональность ..

Ответы [ 3 ]

3 голосов
/ 08 декабря 2010

Вы должны инкапсулировать переменную в свойстве, чтобы поле с именем test стало _test или mTest или любым другим, и вы создали новое свойство с именем test, которое будет использовать другой код. Вы можете поставить точку останова на установщик свойства.

Таким образом, вместо

public int test;

Вы можете иметь

private int _test;

public int test
{
  get { return _test; }
  set { _test = value; } // Breakpoint goes here.
}

И нет необходимости изменять кого-либо из пользователей test, если только они не были скомпилированы, в этом случае вам нужно будет скомпилировать их снова.

3 голосов
/ 08 декабря 2010

Да, используйте Условную точку останова.

Установите точку останова для строки кода, которую вы хотите отладить.

Затем щелкните правой кнопкой мыши на красном круге (точка останова)), нажмите «Условие».

Затем установите условие, которое должно быть истинным, для точки останова.(например, перерыв, когда «test» == 1).

Имейте в виду - вам все равно нужно где-то установить точку останова, так как для этого должна быть область действия переменной, используемой в условии.

НТН.

0 голосов
/ 08 декабря 2010

Вы используете условную точку останова и в значениях введите имя переменной и измените флажок с «Верно» на «Изменено».

Чтобы установить это, щелкните левой кнопкой мыши на левом столбце, где появляются точки останова. Будет создана точка останова.

Затем щелкните правой кнопкой мыши на появившемся красном глифе и выберите условие в раскрывающемся меню.

Это должно привести вас туда, где вы должны быть.

...