- •Цель работы
- •Создание программы
- •Запуск программы
- •Как работает отладчик
- •Настройка отладки
- •Запуск и прекращение отладки
- •Завершение отладки
- •Точки останова
- •Позиционные точки останова
- •Закладка Location
- •Закладка Data
- •Пошаговая отладка
- •Окна отладчика
- •Окно Variables
- •Окно Watch
- •Окно Call Stack
- •Диалоги отладчика
- •Пример отладки приложения
- •Задание к лабораторной работе
Пошаговая отладка
Когда программа прервана (например, достигнута позиционная точка останова), её можно выполнять в пошаговом режиме. Для этого в Visual C++ предусмотрено несколько команд из меню Debug (рис.12).
Таблица 1. Команды пошагового режима отладки
Команда |
Описание |
Go (F5) |
Продолжить выполнение программы до следующей точки останова. |
Step Into (F11) |
Выполнить одну инструкцию. Если это вызов функции, точка выполнения перемещается на первую инструкции этой функции (то есть происходит "заход" в функцию). |
Step Over (F10) |
Выполнить одну инструкцию. Если это вызов функции, то она выполняется целиком (то есть "захода" в функцию не происходит). |
Step Out (Shift+F11) |
Выполнять программу до возврата из текущей функции. |
Run to Cursor (Ctrl+F10) |
Выполнять программу до инструкции, на которой находится курсор ввода. Эта команда эквивалентна установке временной точки останова с последующим вызовом команды Go. |
Step Into Specific Function |
Эта команда аналогична Step Into, но позволяет явно указать, в какую функцию зайти (для этого надо установить на неё курсор ввода). Полезна, если на одной строке выполняется несколько вызовов функции, например: f1(f2(),f3(0));. |
Иногда в процессе отладки возникает необходимость перенести точку выполнения. Например, вы заметили ошибку и хотите "перескочить" через неё или, наоборот, хотите вернуться немного назад и выполнить фрагмент программы ещё раз. Чтобы это сделать, установите курсор в нужном месте и выберите команду Set Next Statement из контекстного меню (или нажмите Ctrl+Shift+F10).
Окна отладчика
В процессе пошаговой отладки программист может использовать целый ряд окон отладчика для наблюдения за состоянием программы. Каждому окну соответствует кнопка на панели инструментов Debug, с помощью которой можно показывать и прятать соответствующее окно. Можно также показывать и скрывать отладочные окна, используя команды из меню View->Debug Windows. Назначение отладочных окон описано в следующих разделах.
Окно Variables
В окне Variables (Alt+4) автоматически отображаются значения локальных переменных (закладка Locals) и переменных-членов класса, адресуемого указателем this (закладка This). В нём же отображаются значения всех переменных, которые используются в предыдущей и текущей инструкциях программы (закладка Auto). На закладке Auto также показываются возвращаемые значения функций.
Если необходимо, чтобы отладчик показывал возвращаемые значения функций, откройте окно Tools->Options и установите галочку Return value на закладке Debug.
Чтобы изменить значение переменной, показанной в окне Variables, нужно просто сделать двойной щелчок на старом значении и ввести новое. Чтобы узнать тип переменной, нужно щёлкнуть по ней правой кнопкой и выбрать Properties из всплывающего меню.
Выпадающий список Context позволяет просматривать локальные переменные любой из вызванных в данный момент функций. Код выбранной в нём функции автоматически отображается в окне редактора.