Как установить условные точки останова в Visual Studio?

Есть ли простой способ установить условные точки останова в Visual Studio?

Если я хочу ударить точку останова только тогда, когда значение переменной станет чем-то, как я могу это сделать?

+96
12 июл. '11 в 20:08
источник поделиться
12 ответов

Установите точку останова как обычно. Щелкните правой кнопкой мыши по нему. Нажмите "Условие".

+126
12 июл. '11 в 20:10
источник

Связанные вопросы


Похожие вопросы

Когда вы используете Express Edition, вы можете попробовать следующее:

#if DEBUG
    if( fooVariable == true )
        System.Diagnostics.Debugger.Break();
#endif

Если оператор make убедится, что в релиз-сборке не будет присутствовать брекер-точка.

+35
18 нояб. '13 в 11:10
источник

Visual Studio предоставляет множество опций для условных точек останова:

Чтобы установить любой из них, вы

  • Установить точку останова
  • Щелкните правой кнопкой мыши над точкой останова, а во всплывающем меню выберите вариант, который вас устраивает.

Эти параметры следующие:

  • Вы можете установить условие, основанное на выражении кода, которое вы предоставляете (выберите Условие во всплывающем меню). Например, вы можете указать, что foo == 8 или какое-то другое выражение.
  • Вы можете сделать триггер точек останова после того, как они были атакованы определенное количество раз. (выберите Число хитов во всплывающем меню). Это забавный вариант игры, поскольку вы на самом деле не ограничены разрывом определенного количества попаданий, но у вас есть варианты для нескольких других сценариев. Я оставлю это вам, чтобы изучить возможности.
  • Вы можете установить фильтры по идентификатору процесса, идентификатору потока и имени машины (выберите Фильтр во всплывающем меню)
+27
12 июл. '11 в 20:23
источник

Еще один способ сделать это (или если вы используете экспресс) добавить условие в код:

if(yourCondition)
{
    System.Diagnostics.Debugger.Break();
}
+12
28 мая '14 в 11:46
источник
  • Установить точку останова на линии
  • Правый клик на красном шаре
  • Выберите конечную точку останова
  • Состояние настройки
+9
12 июл. '11 в 20:10
источник

Создайте точку останова, как обычно, щелкните правой кнопкой мыши красную точку и выберите "условие".

+5
12 июл. '11 в 20:10
источник
  • Установите контрольную точку как обычно.
  • Щелкните правой кнопкой мыши маркер точки останова
  • Нажмите "Условие..."
  • Записать условие, вы можете использовать имена переменных
  • Выберите "Истина" или "Изменено"
+5
12 июл. '11 в 20:13
источник
  • Установить точку останова как обычно
  • Щелкните правой кнопкой мыши на точке останова и выберите Условие
  • Появится диалоговое окно с надписью "Условие точки останова"
  • Поставьте условие в поле, например. "i == 5"

Точка останова будет только ударяться, когда я равно 5.

+4
12 июл. '11 в 20:11
источник

В Visual Studio 6.0

Alt + F9!!!

+3
08 апр. '13 в 6:50
источник

Запись фактического состояния может быть сложной частью, поэтому я склонен к

  • Установить обычную точку останова
  • Запустите код, пока точка прерывания не будет нажата в первый раз
  • Используйте Немедленное окно (отладкa > Windows > Немедленно) до проверьте свое выражение.
  • Щелкните правой кнопкой мыши точку останова, нажмите "Условие" и вставьте Выражение.

Преимущества использования окна Immediate

  • Он имеет intellisense
  • Вы можете быть уверены, что переменные в выражении в области, когда выражение оценивается
  • Вы можете быть уверены, что ваше выражение возвращает true или false

Этот пример прерывается, когда код ссылается на таблицу с именем "Настройка"

table.GetTableName().Contains("Setting")
+2
12 мая '15 в 21:30
источник

Установите breakpoint, как обычно, щелкните правой кнопкой мыши точку останова и выберите опцию condion и установите условие.

+1
12 июл. '11 в 20:12
источник

Создать точку останова условной функции

1) В окне "Точки останова" нажмите "Создать", чтобы создать новую точку останова.

2) На вкладке "Функция" введите "Обратное для функции". Тип 1 для линии, тип 1 для символа, а затем установите для языка значение Basic.

3) Нажмите "Условие" и убедитесь, что выбран флажок "Условие". Введите instr.length > 0 для условия, убедитесь, что выбрана опция true, и нажмите кнопку "ОК".

4) В диалоговом окне "Новая точка останова" нажмите "ОК".

5) В меню "Отладка" нажмите "Пуск".

0
12 июл. '11 в 20:11
источник

Посмотрите другие вопросы по меткам или Задайте вопрос