Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ПИ_ИКТ Программирование по С++ (1 семестр) _Хотов.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.83 Mб
Скачать

4.2 Выполнение программы по шагам с заходом в функцию (трассировка)

Чтобы выполнить трассировку кода, необходимо выбрать команду Debug | Trace Into или нажать клавишу F11.

Первое нажатие на F11 также передает управление на фигурную скобку основной программы (строка 0). Повторные нажатия F11 снова перемещают строку управления на теже операторы, что и F10, пока мы не доходим до строки 7.1. После этого нажатие клавиши F11 трассирует вызов функции sqr – строка выполнения перемещается на фигурную скобку в блоке функции (строка 10). Если продолжать нажимать F11, строка выполнения перемещается по функции, а затем, когда дойдет до оператора return (при этом указатель будет располагаться напротив закрывающей фигурной скобки), возвращается к оператору вызова.

Следует обратить внимание на то, что трассировке подвержены и функции стандартных библиотек. Так, например, при выводе на экран s при помощи стандартного потока cout будет произведена трассировка функции вывод. Во избежание данного поведения необходимо использовать пошаговое выполнение (Step Over) по клавише F10, либо нажимать Shift + F11 для выхода из трассируемой функции.

Лабораторная работа № 9. Отладка программ в интегрированной среде Microsoft Visual C++ 2008

Цель и порядок работы

Цель работы – изучить инструментальные средства и возможности отладки программ в интегрированной среде Microsoft Visual C++ 2008 (Visual Studio 2008).

Порядок выполнения работы:

  • ознакомиться с описанием лабораторной работы;

  • получить задание у преподавателя, согласно своему варианту;

  • написать программу и отладить ее на ЭВМ;

  • оформить отчет.

Контрольные вопросы

  1. Что такое отладка?

  2. Для чего предназначена отладка?

  3. Какие разновидности ошибок существуют?

  4. Какие средства отладки предоставляет среда разработки MS Visual C++?

  5. Что такое точка остановки (breakpoint)?

  6. Какие дополнительные условия можно устанавливать в точке остановки?

  7. Какие возможности существуют для слежения за значениями переменных во время отладки?

  8. Как изменить значение переменной?

  9. Какие горячие клавиши для работы с отдатчиком вы знаете?

Задание

  1. Выполнить задание в соответствии с пунктом 1.

  2. Выполнить задание в соответствии с пунктом 2.

  3. Оформить отчёт.

Задание для выполнения работы

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

Например:

const int N = 10; //1

int a[N] = {5, 2, 7, -9, 4, 8, -1, 0, 3, 6};//2

Последовательность выполнения:

2: a = {5, 2, 7, 9, 4, 8, -1, 0, 3, 6}

5: i = 0

6: i = 0, s = 25

1 Часть первая

  1. Набрать программу примера 1

  2. Выполнить программу по шагам, фиксируя в отчете, в строке с каким номером находится строка выполнения при каждом нажатии на F10.

  3. Внести в программу изменения в соответствии с примером 2.

  4. Выполнить задание пункта 2.

  5. Выполнить трассировку исходной программы примера 2, фиксируя в отчете, в строке с каким номером находится строка выполнения при каждом нажатии на F11.