Программирование и работа с кодом
Вы можете управлять множеством опций отладки Visual Studio в диалоговом окне Options. Узел Debugging в дереве опций дает доступ к этим переключателям отладочных опций. На рис. ЮЛ 5 показаны общие настройки отладки в диалоге Options (Tools | Options).
Список общих настроек дает доступ к включению и выключению многих опций отладки. Эти опции включают следующее:
включение и выключение фильтров точек останова;
включение и выключение окна предупреждающего сообщения (при очистке всех точек останова);
включение или выключение помощника Exception Assistant;
включение или выключение отладки по принципу только мои код ;
требование, чтобы исходный код строго соответствовал тому, что отлаживается (либо не предъявлять такое…
Вероятно, самой обычной отладочной операцией для разработчика является пошаговый проход по строкам кода и изучение данных, выдаваемых приложением и отладчиком.
Пошаговое прохождение именно в этом и заключается: изучение строки, выполнение строки, изучение результатов (а затем повторение этого процесса снова и снова). Поскольку это основной тип отладочных действий, то эффективность пошаговых операций в Visual Studio очень важна для максимально эффективного использования вашего времени в течение сеанса отладки. Здесь мы опишем каждый из пошаговых режимов и дадим соответствующие примеры.
Команда Step Into доступна в меню Debug и на панели инструментов (вы можете также нажать клавишу <F11>). С данной командой связаны два типа поведения. Первый — это когда вы вызываете данную команду для приложения, которое в данный момент не выполняется в режиме отладки. В этом случае приложение будет откомпилировано и запущено, и в окне отладки вы получите первую строку для пошагового прохождения кода. Это (по существу) вход в код вашего приложения. На рис. 10.16 показано приложение Windows Forms в режиме отладки (в результате вызова Step Into).
Примечание
Для Web-приложений Step Into и Step Over работают несколько иначе. В случае Web-…
Во время сеанса отладки у вас есть три основных варианта продвижения по вашему коду. Вы можете войти в строку или функцию, пропустить данную функцию или выйти из функции. Давайте рассмотрим каждый из них.
Команда Step Into (Вход) — <F11> для C# и <F8> для VB — позволяет вам продвигаться по вашему коду по одной строке. Вызов этой команды выполнит текущую строку кода и поместит ваш курсор на следующую выполняемую строку. Важное различие между Step Into и другими похожими командами состоит в том, как Step Into обрабатывает строки кода, в которых содержатся вызовы методов. Если вы находитесь на строке кода, которая…
Когда вы находитесь в сеансе отладки, то команда Start Debugging (или Run) изменяется на Continue. Команда Continue доступна тогда, когда вы приостановили выполнение на строке кода в отладчике. Она дает вам возможность продолжить выполнение приложения без пошагового прохождения по строкам. Предположим, что вы прошли по строкам, кода, которые хотели увидеть, а теперь вы хотите продолжить проверку вашего приложения с точки зрения пользователя. При помощи Continue вы даете указание приложению и отладчику продолжать выполнение до тех пор, пока не произойдет исключение или не сработает точка останова.
Вы можете закончить сеанс отладки несколькими способами. Один из самых часто используемых методов — это прекратить выполнение приложения. Это можно сделать при помощи закрывания окна браузера с Web-приложением или путем нажатия кнопки Close (или х) окна приложения Windows. При завершении приложения произойдет также н завершение сеанса отладки.
Имеется также пара способов и в окне Debug. Команда Terminate All завершает все процессы, к которым прикреплен отладчик, и завершает сеанс отладки. Есть также опция Detach АП. На рис. 10.20 показаны обе эти опции в меню. Detach All просто открепляет отладчик от всех выполняющихся процессов без их завершения. Эта возможность полезна тогда, когда…
Вы управляете отладчиком при помощи точек останова и точек отслеживания. С их помощью вы можете указать отладчику, где вам нужно выйти в код или получить информацию о вашем приложении. Точки останова позволяют вам указать, когда отладчик должен остановиться на определенной строке кода. Точки отслеживания были введены в Visual Studio 2005. Это такой тип точки останова, который позволяет вам выполнить определенное действие тогда, когда достигнута указанная вами строка кода. Обычно при этом происходит вывод данных о вашем приложении в окно вывода. Освоение вами использования точек останова уменьшит количество времени, затрачиваемого на исправление проблем вашего кода.
Самый часто используемый способ настройки точки останова: сначала надо найти строку кода, на которой вы хотите остановить отладчик, затем вы щелкаете по этой строке в поле индикаторов редактора кода. При этом в поле индикаторов появляется красный кружок, и строка кода выделяется красным цветом. Конечно, это цвет по умолчанию; вы можете изменить вид точек останова в диалоговом окне Options в узле Environment | Fonts and Colors.
Есть еще несколько дополнительных способов настройки точек останова. Например, вы можете щелкнуть по строке кода правой кнопкой мыши и выбрать пункт New Breakpoint в контекстном меню Breakpoint. Вы можете также выбрать команду New Breakpoint в…
Точка останова функции— это точка останова, которая настраивается в диалоговом окне New Breakpoint. Она называется точкой останова функции потому, что обычно устанавливается на начало функции (хотя это и не обязательно). В диалоговом окне New Breakpoint вы можете вручную настроить: функцию, на которой вы хотите прервать выполнение; строку кода в функции, или даже символ в строке.
Если при вызове этого диалогового окна ваш курсор находится на функции или на вызове функции, то имя функции будет автоматически внесено в диалоговое окно. Вы можете также ввести название функции в этом окне. На рис. 10.21 показано диалоговое окно New Breakpoint в действии. Обратите внимание,…
Visual Studio 2008 имеет для точек останова несколько значков. Эти значки позволяют вам легко распознать тип точки останова, связанной с данной строкой кода. Например, сплошной кружок— это обычная точка останова, а кружок с пустотой внутри Гфедставляет собой деактивированную точку останова. В табл. Ю.З показаны некоторые основные значки, связанные с точками останова, и дано их описание.