Команда Step Into доступна в меню Debug и на панели инструментов (вы можете также нажать клавишу <F11>). С данной командой связаны два типа поведения. Первый — это когда вы вызываете данную команду для приложения, которое в данный момент не выполняется в режиме отладки. В этом случае приложение будет откомпилировано и запущено, и в окне отладки вы получите первую строку для пошагового прохождения кода. Это (по существу) вход в код вашего приложения. На рис. 10.16 показано приложение Windows Forms в режиме отладки (в результате вызова Step Into).
Примечание
Для Web-приложений Step Into и Step Over работают несколько иначе. В случае Web- сайта ваше приложение просто выполняется в режиме отладки. Отладчик не делает останова на первой строке кода вашего приложения. Для этого вам нужно будет настроить точку останова или выбрать опцию Run to Cursor (см. следующий раздел).
Вызов команды Step Over (меню Debug, панель инструментов или клавиша <F10>) в тот момент, когда ваше приложение находится в состоянии покоя, приведет к тому же самому, что и вызов Step Into. То есть ваше приложение (если это не Web-сайт) будет откомпилировано и запущено в сеансе отладки на первую строку кода.
Одной из более удобных (и часто упускаемых) функциональных возможностей набора инструментов отладки является функция Run to Cursor (Выполнить до курсора). Она работает в полном соответствии со своим названием. Вы устанавливаете курсор на некий код и вызываете эту команду. Приложение компилируется и выполняется до тех пор, пока не доходит до той строки, где находится курсор. В этой точке отладчик прерывает приложение и выдает вам эту строку кода для пошагового прохождения. Эта возможность особенно удобна, поскольку именно так работают многие разработчики. Они смотрят на конкретную строку (или строки) кода и хотят ее отладить. Они не хотят начинать с первой строки и не хотят заниматься точками останова. Поэтому функция Run to Cursor является эффективным средством привести отладчик на ту страницу, где вы сейчас находитесь. На рис. 10.17 показана эта функция, вызванная из контекстного меню.
Команда Run to Cursor работает даже в том случае, когда пользователь должен активизировать некий фрагмент кода перед тем, как код дойдет до положения курсора. Таким образом, фактически это — невидимая временная точка останова. Рассмотрим пример, в котором пользователю выдается Web-страница по умолчанию. Здесь он может выбрать редактирование своего профиля. Если вы настроите команду Run to Cursor на строке внутри экрана редактирования профиля, то отладчик будет по-прежнему выполнять приложение и ждать, пока пользователь (тестер или разработчик) выполнит данную строку кода.
Вы можете также начать ваш сеанс отладки с выбора опции Start Debugging (Начало отладки)— зеленая стрелка "воспроизведение"— в меню Debug или панели инструментов (или нажатие клавиши <F5>). При этом начнется сеанс отладки, но выход в код не произойдет (если только не случится исключение или не попадется точка останова). Эта операция обычно используется теми разработчиками, кто тестирует свой код и не хочет его проходить пошагово; либо теми, кто использует большое количество точек останова.
Если ваше приложение выполняется, и вы хотите войти в режим останова, то вы можете сделать это в любое время при помощи команды Break All (Прервать все) из меню Debug или панели инструментов, либо при помощи комбинации клавиш <Ctrl>+<Alt>+<Break>. Функция Break АН представлена на панели инструментов значком с символом паузы. Нажатие этой кнопки останавливает ваше приложение на следующей выполняющейся строке и позволяет вам получить информацию из отладчика. Команда Break All особенно полезна в том случае, когда вам нужно прервать длительный процесс либо цикл, который "подвесил" ваше приложение.