* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Пошаговое исполнение кода
8 февраля 2009
В этом режиме программу можно останавливать после исполнения каждой строки кода, а также просматривать значения переменных и свойств приложения. Visual Studio .NET переходит в режим пошагового исполнения в следующих обстоятель- ствах:
* при выборе в меню команды Step Into, Step Over или Step Out, а также при нажа- тии соответствующей кнопки на инструментальной панели Debug; • по достижении строки с активной точкой прерывания при исполнении прог- раммы; • при исполнении оператора Stop: * при возникновении необработанного исключения. В режиме пошагового исполнения код просматривают при помощи различных отладочных инструментов. В таблице 5-1 перечислены отладочные функции, до- ступные через меню Debug. Таблица 5-1. Элементы меню Debug Элемент меню Быстрая клавиша Описание Windows Открывает доступ к командам, вызывающим различные отладочные инструменты. Более подробно эти инструменты описаны далее Start/Continue Break All Stop Debugging Detach All F5 Ct rl+ Alt+Break Shift+F5 Restart Ctrl+Shift+F5 Apply Code Changes Processes Exceptions Step Into Step Over Step Out Ctrl+Alt+E F8 Shift+F8 Shifl+Fll QuickWatch Ctrl+Alt+Q New Breakpoint Ctrl+B Clear All Breakpoints Ctrl+Shift+F9 Disable All Breakpoints Запускает приложение в режиме отладки; если приложение находится в режиме пошагового исполнения, продолжает исполнение программы Останавливает исполнение программы на текущей строке и переводит ее в режим пошагового исполнения. Чтобы возобновить исполнение, выберите команду Continue Останавливает отладчик и возвращает Visual Studio в режим Design Отключает отладчик от всех процессов и закрывает его, не останавливая исполнения программы Перезапускает приложение Применяется только с программами на C/C++, недоступен для программ на Visual Basic .NET и Visual C# Открывает окно Processes Открывает окно Exceptions Исполняет следующую строку; если она содержит вызов метода, останавливает исполнение в начале этого метода Исполняет следующую строку; если она содержит вызов метода, исполняет его и останавливает исполнение на следующей строке текущего метода Исполняет код до конца текущего метода и останавливается перед следующей исполняемой строкой вызывающего метода Открывает окно QuickWatch Открывает окно Breakpoint Удаляет из приложения все точки прерывания Деактивирует все точки прерывания, не удаляя их Ряд отладочных средств (таблица 5-2) доступен через контекстное меню окна кода, Таблица 5-2. Отладочные средства, доступные через контекстное меню окна кода Элемент меню Описание Insert Breakpoint Вставляет точку прерывания в выделенную строку New Breakpoint Открывает окно New Breakpoint; функциональный эквивалент одноименной команды из меню Debug Add Watch Добавляет выделенное выражение в окно Watch QuickWatch Открывает окно QuickWatch, функциональный эквивалент одноименной команды из меню Debug Show Next Statement Выделяет подсветкой оператор, который будет исполнен следующим Run To Cursor Исполняет программу до выделенной строки Set Next Statement Назначает выделенную строку для исполнения (выделенная строка должна быть в текущей процедуре) Наиболее востребованные отладочные средства описаны в следующих разделах. Step Into Команда Step Into (исполнение с заходом) позволяет анализировать работу програм- мы, исполняя ее построчно. При ее выборе исполняется текущая строка кода и ис- полнение останавливается. Если следующая строка содержит вызов метода, отлад- чик исполняет первую строку этого метода, после чего останавливает программу, позволяя проанализировать состояние приложения с помощью отладочных инст- рументов. Чтобы воспользоваться командой Step Into, выберите ее из меню Debug, либо щелкните соответствующую кнопку на инструментальной панели Debug, либо на- жмите F11. Step Over Команда Step Over (исполнение без захода) исполняет следующую строку кода, как и Step Into, но если в этой строке будет вызов метода, команда Step Over исполняет его до конца и останавливает исполнение перед следующей строкой текущей про- цедуры. Step Over позволяет оставаться на одном и том же уровне кода, не заходя внутрь вложенных методов. Команда удобна, когда не требуется анализировать вло- женные методы. Чтобы воспользоваться Step Over, выберите ее из меню Debug, либо щелкните соответствующую кнопку на инструментальной панели Debug, либо нажмите F10. Step Out Команда Step Out (исполнить текущий метод) позволяет исполнить текущую про- цедуру до конца. Если она вызвана из другого метода, исполнение останавливается перед оператором, следующим за строкой, откуда была вызвана текущая процедура. Чтобы воспользоваться командой Step Out, выберите ее из меню Debug, либо щелкните соответствующую кнопку на инструментальной панели Debug, либо на- жмите Shifl+Fll. Run To Cursor Команда Run To Cursor позволяет выбрать строку кода и выполнить весь код при- ложения до этой строки. Эта команда позволяет пропустить блоки кода, которые не нужно исполнять построчно, например длинный цикл. ^ Как воспользоваться командой Run To Cursor В редакторе исходного текста поместите курсор на строку, до которой следует про- должить исполнение. Эта строка должна быть строкой исполняемого кода. Щелк- ните правой кнопкой мыши и выберите команду Run To Cursor. Set Next Statement Команда Set Next Statement позволяет пропускать отдельные участки кода. Вы смо- жете назначить оператор, который будет исполнен следующим, при этом пропуска- ется весь код, расположенный до этого оператора, — этим команда Set Next Statement отличается от Run To Cursor. Используя Set Next Statement, удается пропус- тить заведомо ошибочные участки кода, а также повторно исполнять ранее испол- ненные строки кода. Чтобы воспользоваться командой Set Next Statement, перейдите в окно редакто- ра кода и поместите курсор в строку, которую следует исполнить следующей (она должна быть внутри текущей процедуры). Затем щелкните эту строку правой кноп- кой мыши и выберите из контекстного меню команду Set Next Statement, Чтобы исполнить помеченную таким образом строку, воспользуйтесь командой Step Into.