This article has been localized into Russian by the community.
Продвинутые контрольные точки
В предыдущей главе мы установили первую точку останова, и это было хорошо. Однако точек останова на самом деле больше, по крайней мере, если вы используете Visual Studio. К сожалению, кажется, что Microsoft отключила эти дополнительные функции отладки в некоторых своих Экспресс-версиях, но не волнуйтесь: они, безусловно, хороши, но вы можете обойтись без них. Однако для тех, кто имеет доступ к Visual Studio, вот наиболее интересные функции, связанные с точками останова. Доступ к ним можно получить, установив точку останова, щелкнув ее правой кнопкой мыши и выбрав нужную функцию.
Условие (Condition)
Этот параметр позволяет указать условие, которое должно быть истинным или измененным, чтобы была достигнута точка останова. Это может быть действительно полезно при работе с более продвинутым кодом, в котором останов должен будет произойти только при определенных условиях. Например, пока не будет достигнут нужный код, цикл может повториться много раз - в такой ситуации достаточно просто разместить точку останова, а затем указать для нее условие. Вот довольно скучный пример, который покажет вам, как это работает:
static void Main(string[] args)
{
for(int i = 0; i < 10; i++)
Console.WriteLine("i is " + i);
}
Установите точку останова на линии, где мы делаем вывод на консоль. Теперь запустите приложение - точка останова срабатывает каждый раз, когда цикл повторяется. Но, возможно, это не то, чего мы хотим. Возможно, мы только хотим, чтобы цикл был завершен, когда i станет равен 4 (5-я итерация). Сделайте это, задав это простое условие:
i == 4
Контрольная точка теперь отобразит маленький белый плюс внутри, и когда вы запустите приложение, оно будет прерываться, когда переменная i равна 4. Чтобы отладчик остановил выполнение при любом изменении значения вышеприведенного выражения, например, с false на true, можно использовать опцию "has changed".
Число попаданий (Hit count)
В этом диалоговом окне можно определить альтернативное условие, основанное на количестве посещений точки останова. Например, если точка останова не должна останавливать выполнение, пока ее не посетили определенное количество раз. Существуют различные варианты управления, в зависимости от того, что вам нужно, и во время отладки можно зайти в это диалоговое окно и посмотреть, сколько раз эту точку останова уже посетили.
При попадании (When hit...)
В этом диалоге можно задать альтернативное поведение при посещении точки останова. Оно может пригодиться во многих ситуациях, в которых не нужно останавливать выполнение и достаточно получить напечатанное сообщение о состоянии или активировать макрос. Эта опция позволяет задать выводимое пользовательское сообщение, в которое можно включить все виды информации о ходе выполнения программы. Для опытных пользователей также будет полезна опция получения определенного макроса, выполняемого при посещении точки останова.