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

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

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

Ответ 1

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

Ответ 2

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

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

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

Ответ 3

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

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

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

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

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

Ответ 4

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

if(yourCondition)
{
    System.Diagnostics.Debugger.Break();
}

Ответ 5

  • Установить точку останова на линии
  • Правый клик на красном шаре
  • Выберите конечную точку останова
  • Состояние настройки

Ответ 6

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

Ответ 7

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

Ответ 8

  • Установить точку останова как обычно
  • Щелкните правой кнопкой мыши на точке останова и выберите Условие
  • Появится диалоговое окно с надписью "Условие точки останова"
  • Поставьте условие в поле, например. "i == 5"

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

Ответ 9

В Visual Studio 6.0

Alt + F9!!!

Ответ 10

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

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

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

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

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

table.GetTableName().Contains("Setting")

Ответ 11

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

Ответ 12

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

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

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

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

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

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