Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Окно «Error List» («Список ошибок»)




Окно «Error List» показано на рисунке 23. Так же как и окно «Output» оно располагается внизу рабочей области.

Окно «Error List», в отличие от окна «Output», активизируется, только если в программе обнаружены ошибки компиляции или линковки. Окно «Error List» включает часть данных из окна «Output» и представляет информацию в табличном виде.


Рисунок 23 – Окно «Error List» с ошибкой

Для аналогичного примера с ошибкой, в котором после функции sscanf удалена точка с запятой, в окне «Error List» появится следующее сообщение: «error C2146: syntax error: missing ‘;‘ before …», файл «file1.cpp», строка «14».

Два раза кликнув мышью на строке с описанием ошибки, курсор автоматически установится на файл и строку в файле, на которой была обнаружена ошибка.

Важно: сообщение «C2146» — это код ошибки компиляции, более детальную информацию по которой можно посмотреть в MSDN, если в строке индекса ввести соответствующий код.

Выполнение программы

Выполнение программы в режиме отладки происходит по команде «Start Debugging» (комбинация клавиш «F5»).

Выполнение программы так же можно осуществить с использованием основного меню. Для этого в основном меню нужно выбрать пункт «Debug»à«Start Debugging» (рисунок 24).


Рисунок 24 – Пункт меню «Старт программы в режиме отладки»

Отладка программы

Общие сведения

Отладка — это этап разработки программы, на котором обнаруживают, локализуют и устраняют ошибки.

Важно: к отладке программы можно приступать только после успешной компиляции и сборки проекта. Т.е на этапе компиляции и сборки НЕ ДОЛЖНО быть ОШИБОК.

Отладка заключается в пошаговом исполнении программы с целью проверки правильности выполнения операторов и функций. Правильность выполнения проверяется по содержимому локальных и глобальных переменных.

Команды отладки

«Step Into» — пошаговое (построчное) выполнение программы с заходом в вызываемую функцию (комбинация клавиш «F11»).

«Step Over» — пошаговое (построчное) выполнение программы без захода в вызываемую функцию (комбинация клавиш «F10»).

«Run To Cursor» — выполнение программы до строки программы, на которой стоит курсор (комбинация клавиш «Ctrl+F10»).

«Step Out» — выполнение программы до выхода из текущей функции (комбинация клавиш «Shift+F11»). Команда доступно только после старта программы в режиме отладки.

«Stop Debugging» — останов выполнения программы (комбинация клавиш «Shift+F5»). Команда доступно только после старта программы в режиме отладки.

Все команды отладки, после старта программы в режиме отладки, доступны в основном меню «Debug».

Если после успешной компиляции и сборки проекта выбрать команду «Step Over» (комбинация клавиш «F10»), то среда Microsoft Visual Studio переключится в режим отладки приложения (рисунок 25).


Рисунок 25 – Среда в режиме «Отладка приложения»

На рисунке видно, что внизу рабочей области появилось несколько сервисных окон отладки, таких как «Autos» и «Call Stack».

В области редактора файлов слева видна желтая стрелка. Эта стрелка указывает на строку программы, которая будет выполнена на следующем шаге программы. В примере, показанном на рисунке, желтая стрелка указывает на строку «setlocale(LC_ALL, "Russian")». Если еще раз выбрать команду «Step Over», то отладчик выполнит вызов функции setlocale и остановится на следующей строке программы. Желтая стрелка переместится к строке «printf("Введите число:")».

Точки останова

Точка останова (breakpoint) — это выбранное пользователем место в программе, при достижении которого исполнение программы будет прервано и управление передастся отладчику.

Точка останова в программе устанавливается и удаляется с помощью команды «Toggle Breakpoint» (комбинация клавиш «F9» или пункт основного меню «Debug»à«Toggle Breakpoint»).

На рисунке 26 показана точка останова, установленная на строке «printf("Результат: %d (%x)\n", a, a)».


Рисунок 26 – Установка «Точки останова»

В области редактора файлов слева появился красный кружок, обозначающий строку с точкой останова. Если теперь запустить программу на выполнение в режиме отладки (команда «Start Debugging»), то исполнение программы будет прервано на строке с точкой останова (рисунок 27).


Рисунок 27 – Программа, прерванная в точке останова

На рисунке 27 видно, что исполнение программы прервано в точке останова: желтая стрелка остановилась на красном кружке. Далее можно выбрать любую команду отладки («Step Into», «Step Over», «Run To Cursor» и т.д.) или продолжить исполнение программы («Start Debugging»).

Для удаления ранее точки останова необходимо переместить курсор на строку с установленной точкой останова и повторно выбрать команду «Toggle Breakpoint».

В программе допускается устанавливать множество точек останова.

Дополнительные сведения по точкам останова содержатся в сервисном окне «Breakpoints». В данном окне можно просмотреть весь список точек останова и для каждой точки задать дополнительные условия срабатывания.

Отладочные окна

Окно «Autos»

Служебное окно автоматически формируемого списка переменных. Окно содержит информацию по переменным, к которым было обращение на предыдущем шаге и к которым будет обращение на следующем шаге исполнения программы. Состав переменных формируется отладчиком автоматически. Пользователь не может добавлять собственные переменные в список.

Окно показано на рисунке 28 внизу рабочей области.


Рисунок 28 – Окно «Autos»

На рисунке видно, что после исполнения строки «b=10.5+a» в окно «Autos» добавлены 3 переменные: a, b и y. К переменным a и b было обращение на предыдущем шаге, а к переменным b и y будет обращение на следующем шаге. Переменная a=3, переменная b=13.5, а переменная y заполнена случайным значением.

Окно можно открыть через пункт основного меню «Debug»à«Windows»à«Autos».

Окно «Locals»

Служебное окно списка локальных переменных. Окно содержит информацию по всем локальным переменным, которые объявлены внутри функции. Пользователь не может добавлять собственные переменные в список.

Окно показано на рисунке 29 внизу рабочей области.


Рисунок 29 – Окно «Locals»

Окно можно открыть через пункт основного меню «Debug»à«Windows»à«Locals».

Окна «Watch»

Четыре служебных окна списка пользовательских переменных. Окна содержат информацию по локальным и глобальным переменным, которые добавлены пользователем.

Окно «Watch 1» показано на рисунке 30.


Рисунок 30 – Окно «Watch 1»

В окно «Watch 1» добавлена одна локальная переменная a и показано добавление новой переменной y. Для добавления новой переменной необходимо на свободной строке, в столбце «Name» два раза кликнуть левой кнопкой мыши. После этого поле станет доступным для редактирования и в нем можно набрать имя переменной для просмотра (в показанном примере вводится имя y).

Окна можно открыть через пункт основного меню «Debug»à«Windows»à«Watch»à«Watch <номер>».

Окна «Memory»

Четыре служебных окна дампа памяти. Окна отображают содержимое ячеек памяти по указанному пользователем линейному адресу.

Окно «Memory 1» показано на рисунке 31.


Рисунок 31 – Окно «Memory 1»

В поле «Address» указывается адрес памяти. Допускается задание непосредственного адреса, переменной типа указатель и адреса переменной (с использованием оператора получения адреса &). В показанном на рисунке примере в качестве адреса выбрана переменная v — массив из 10 элементов. Имя массива соответствует адресу первого элемента массива.

В поле «Columns» выбирается количество колонок дампа памяти.

В левой части рабочей области показаны адреса ячеек памяти. В показанном на рисунке примере массив v располагается в памяти, начиная с адреса 0x0012FF20.

В центре рабочей области показано содержимое ячеек памяти. В показанном на рисунке примере показано содержимое массива v. По смещению 0 — значение 1 (v[0]), по смещению 2 — значение 2 (v[1]), и т.д.

В правой части рабочей области показано содержимое ячеек памяти представленное в текстовом виде.

Окна можно открыть через пункт основного меню «Debug»à«Windows»à«Memory»à«Memory <номер>».

Окно «Call Stack»

Служебное окно стека вызовов. Окно содержит информацию о возврате из всех функций, вложенных или рекурсивных, которые в данный момент исполняются.

Окно «Call Stack» показано на рисунке 32.


Рисунок 32 – Окно «Call Stack»

Окно можно открыть через пункт основного меню «Debug»à«Windows»à«Call Stack».

Окно «Registers»

Служебное окно содержимого регистров процессора. Пользователь не может добавить собственные переменные в список.

Окно «Registers» показано на рисунке 33.


Рисунок 33 – Окно «Registers»

Окно можно открыть через пункт основного меню «Debug»à«Windows»à«Registers».

Окно «Disassembly»

Окно дизассемблированного исходного кода. Окно содержит строки исходного кода программы и ассемблерный код, формируемый компилятором на каждую строку программы.

Окно «Disassembly» показано на рисунке 34.


Рисунок 29 – Окно «Disassembly»

Используя команды отладки можно трассировать программу в ассемблерном коде. При этом остаются доступными все отладочные окна и в любой момент можно переключиться на отладку по исходному тексту программы.

Окно можно открыть через пункт основного меню «Debug»à«Windows»à«Disassembly».

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...