Опубликован: 23.01.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Томский политехнический университет
Лекция 12:

Отладка приложений в Visual Studio 2010

Аннотация: В данной лекции будут рассмотрены следующие вопросы: отладка приложения в Visual Studio 2010; установка точки останова; запуск отладчика; пошаговое выполнение программы; окно Autos; окно Locals; окно Watch; окно Immediate; окно Threads; окно Parallel Task; окно Parallel Stacks.
Ключевые слова: Visual Studio, запуск, меню, debug, доступ

Отладка приложения в Visual Studio 2010

Существуют два способа запуска режима отладки в Visual Studio, первый - запуск из меню Debug и второй - запуск с помощью соответствующей панели инструментов. Оба способа - предоставляют доступ к запуску сеансов отладки, пошаговому прохождению кода, управлению точками останова, а также и ко многим функциональным возможностям отладки в Visual Studio. Имеются два состояния меню отладки (Debug):

  • Состояние покоя (неактивное);
  • Режим отладки.

В состоянии покоя меню Debug (Рис. 19.1) предоставляет возможности для запуска сеанса отладки, прикрепления к выполняющемуся процессу и для доступа к некоторым из отладочных окон. В Табл. 19.1 перечислены все функциональные возможности, имеющиеся в меню Debug в состоянии покоя.

Меню Debug в Visual Studio 2010 в режиме покоя

Рис. 19.1. Меню Debug в Visual Studio 2010 в режиме покоя
Таблица 19.1. Элементы меню Debug в состоянии покоя
Элемент меню Описание
Windows | Breakpoints Открывает в интегрированной среде окно Breakpoints, которое дает доступ ко всем точкам останова данного решения.
Windows | Output Показывает в интегрированной среде окно Output. Окно Output - это бегущий журнал множества сообщений, выдаваемых интегрированной средой, компилятором и отладчиком. Поэтому эта информация относится не только к сеансу отладки
Windows | Immediate Открывает в интегрированной среде окно Immediate, которое позволяет выполнять команды.
Start Debugging Запускает приложение в режиме отладки
Start Without Debugging Запускает приложение без подключения отладчика к выполняющемуся процессу. В этом режиме разработчик видит то, что увидит пользователь (вместо того, чтобы выходить в интегрированную среду при ошибках и в точках останова)
Attach to Process Позволяет прикрепить отладчик к выполняющемуся процессу (исполняемому файлу). Например, если запущено приложение без отладки, то можете потом прикрепиться к этому выполняющемуся процессу и начать отладку
Exceptions Открывает диалоговое окно Exceptions, которое позволяет выбрать способ останова отладчика для каждого исключительного состояния
Step Into Запускает приложение в режиме отладки. Для большинства проектов выбор команды Step Into означает вызов отладчика на первой выполняемой строке приложения. Таким образом, можно войти в приложение с первой строки
Step Over Когда вы не находитесь в сеансе отладки, то команда Step Over просто запускает приложение точно так же, как это сделала бы кнопка Run
Toggle Breakpoint Включает или выключает точку останова на текущей (активной) строке кода текстового редактора. Эта опция неактивна, если в интегрированной среде нет активного кодового окна
New Breakpoint | Break at Function Активирует диалоговое окно New Breakpoint позволяющее указать имя функции, для которой необходимо создать точку останова.
New Breakpoint | New Data Breakpoint Эта опция доступна только для приложений С++, позволяет определить точку останова, которая выходит в интегрированную среду тогда, когда изменяется значение по определенному адресу в памяти
Delete All Breakpoints Удаляет все точки останова из текущего решения
Disable All Breakpoints Деактивирует (без удаления) все точки останова текущего решения

Когда отладчик запущен, то состояние меню Debug изменяется, в нем становятся активными несколько дополнительных опции. Эти опции включают: функции перемещения по коду, перезапуск сеанса и доступ к дополнительным окнам отладки и т.д. На Рис. 19.2 показано меню Debug во время сеанса отладки. В Табл. 19.2 представлены элементы меню Debug в состоянии отладки.

 Меню Debug в Visual Studio 2010 в режиме отладки

Рис. 19.2. Меню Debug в Visual Studio 2010 в режиме отладки
Таблица 19.2. Элементы меню Debug в режиме отладки
Элемент меню Описание
Windows | Break­points Позволяет открыть окно Breakpoints во время сеанса отладки.
Windows | Output Открывает окно Output во время активного сеанса отладки для того, чтобы можно было читать выходные сообщения, выдаваемые компилятором и отладчиком.
Windows | Parallel Task Одно из нововведений в Visual Studio 2010. Подробнее о данном нововведение в подразделе лекции "Окно Parallel Task" .
Windows | Parallel Stacks Одно из нововведений в Visual Studio 2010 Подробнее о данном нововведение в подразделе лекции "Окно Parallel Stacks".
Windows | Watch Открывает одно из нескольких окон контрольных значений интегриро­ванной среды. Окна контрольных значений представляют элементы и выражения, за которыми вы наблюдаете в течение сеанса отладки.
Windows | Autos Открывает окно Autos. Это окно показывает переменные (и их значе­ния) в текущей и предыдущей строках кода.
Windows | Locals Открывает в интегрированной среде окно Locals, которое показывает переменные в локальной области действия (функции).
Windows | Immediate Открывает окно Immediate, в котором вы можете выполнить команду.
Windows | Call Stack Открывает список функций, которые имеются в стеке. Также указывает текущий кадр стека (функцию). Выделенный элемент - это то, что определяет содержимое окон Locals. Autos и окон контрольных значений.
Windows | Threads Показывает в интегрированной среде окно Threads. Здесь можно просматривать потоки отлаживаемого приложения и управлять ими.
Windows | Modules Показывает в интегрированной среде окно Modules. Это окно дает спи­сок dll и ехе-файлов, используемых приложением.
Windows | IntelliTrace Events Одно из нововведений в Visual Studio 2010. По умолчанию IntelliTrace собирает информацию для выбранных событий IntelliTrace. Когда приложение входит в режим приостановки выполнения, можно воспользоваться представлением IntelliTrace Events, чтобы просмотреть собранные события диагностики.
Windows | IntelliTrace Calls Одно из нововведений в Visual Studio 2010. Когда IntelliTrace выполняет сбор сведений о вызовах, эти сведения можно просматривать в окне IntelliTrace Calls.
Windows | Processes Показывает в интегрированной среде окно Processes. Это окно отображает список процессов, к которым прикреплен сеанс отладки.
Windows | Memory Открывает окно Memory для просмотра используемой приложе­нием памяти. Это работает только при включенной (в диалоговом окне Options) отладке на уровне адресов.
Windows | Disas­sembly Открывает окно Disassembly. Это окно показывает ассемблерный код, соответствующий командам компилятора. Данная функция работает только при включенной (в диалоговом окне Options) отладке на уровне адресов.
Windows | Registers Открывает окно Registers, чтобы вы могли видеть изменения значений регистров при прохождении по коду. Данная функция работает только при включенной (в диалоговом окне Options) отладке на уровне адресов.
Continue Продолжает выполнение приложения после выхода в интегрированную среду разработки. Приложение продолжает выполняться с активной строки кода.
Break All Позволяет прервать приложение вручную (без использования точки останова) во время сеанса отладки Приложение прервется на сле­дующей исполняемой строке. Эта возможность полезна в том случае, когда нужно получить доступ к отладочной информации.
Stop Debugging Останавливает режим отладки. Прерывает также и отлаживаемый про­цесс.
Detach All Открепляет отладчик от выполняющегося процесса. Это позволяет приложению продолжать выполнение после того, как отладчик свою работу закончил.
Terminate All Останавливает отладку и прекращает все процессы, к которым вы при­креплены.
Restart Останавливает и перезапускает его сеанс отладки. Аналогично после­довательному нажатию кнопок Stop Debugging и Start Debugging.
Attach to Process Позволяет прикрепить активный сеанс отладки к одному дополнительному процессу.
Exceptions Активирует диалог Exceptions, который позволяет управлять вы­ходом в IDE по конкретным типам исключительных состояний .NET Framework и других библиотек.
Step Into Приводит к продвижению отладчика на одну строку.
Step Over Работает точно так же, как Step Into, но с одной важной разницей: если используете пропуск функции по Step Over, то строка вызова функции будет выполнена (и функция тоже), и отладчик установит следующую строку за вызовом функции в качестве следующей отлаживаемой строки.
Step Out Указывает отладчику выполнить текущую функцию, а затем выйти на­зад в отладчик (после выполнения функции). Эта функция полезна тогда, когда осуществляется вход в функцию, а затем нужно, чтобы эта функция выполнилась и вернула в отладчик после ее завершения.
QuickWatch Активирует окно QuickWatch. Это окно отображает значение одной, конкретной переменной (или выражения).
Toggle Breakpoint Включает и выключает активную точку останова.
New Breakpoint Активирует диалоговое окно New Breakpoint.
Delete All Break - 'points Удаляет все точки останова в вашем решении.
Владимир Каширин
Владимир Каширин

Вопрос по Курсу: "Параллельное программирование с использованием MS VisualStudia 2010".

При компиляции Самостоятельного задания (одновременная отрисовка прямоугольников, эллипсов и выдача в текст-бокс случайного числа) среда предупреждает: suspend - устаревшая команда; примените monitor, mutex и т.п.

Создаётся впечатление, что Задание создано в более поздней среде, чем VS 2010.

Александр Гаврилов
Александр Гаврилов
Россия
Роман Дмитриев
Роман Дмитриев
Россия, Москва