- •Цель работы
- •Теоретические сведения
- •Основные окна ide
- •Редактор текста
- •Список задач
- •Окно решения
- •Окно свойств
- •Контрольные вопросы
- •Приложение.
- •Управление потоком кода.
- •1. Цель работы
- •2. Теоретические сведения
- •If (условие) оператор1; else оператор2
- •3. Порядок выполнения работы
- •4. Задание на работу
- •6. Контрольные вопросы
- •1. Цель работы
- •2. Теоретические сведения
- •Управление динамической памятью с помощью new и delete
- •3. Порядок выполнения работы
- •4. Задание на работу
- •Функции без возвращаемого значения (процедуры)
- •Функции, возвращающие значение
- •Функции с параметрами.
- •Формальные и фактические параметры
- •Перегрузка функций
- •Значения параметров по умолчанию
- •Использование библиотек функций
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Задание на работу
- •Порядок выполнения работы
- •Требования к оформлению отчета
- •Задание на работу
- •Форматный ввод
- •Пример работы с форматным выводом
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Задание на работу
- •6. Контрольные вопросы
- •1. Цели работы
- •2. Теоретические сведения Стиль программирования
- •Отладка приложений в среде Microsoft Visual Studio .Net 2005
- •Точки останова (breakpoints)
- •Отладочные символы
- •Настройка параметров отладки.
- •Отладка
- •Окна отладчика
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Задание на работу
- •6. Контрольные вопросы
- •1. Цель работы
- •2. Теоретические сведения Общие сведения
- •Определение макросов
- •Условная компиляция
- •Дополнительные директивы препроцессора
- •Включение файла. Директива #include
- •3. Порядок выполнения работы
- •4. Требования к оформлению отчета
- •5. Задание на работу
- •6. Контрольные вопросы
- •Цели и задачи работы:
- •Теоретические положения.
- •Порядок выполнения работы.
- •Требования к отчету.
- •Варианты заданий.
- •Контрольные вопросы.
- •Цели и задачи работы
- •Теоретические положения.
- •Порядок выполнения работы.
- •Требования к отчету.
- •Варианты заданий.
- •Контрольные вопросы.
Отладка приложений в среде Microsoft Visual Studio .Net 2005
Встроенный отладчик Visual C++ – это мощный и удобный инструмент, оказывающий неоценимую помощь в процессе поиска и устранения ошибок в программе. Прежде чем изучать конкретные техники отладки, необходимо ознакомиться с его возможностями.
Точки останова (breakpoints)
Точки останова (breakpoints) играют важную роль в отладке приложений. На самом деле, точка останова – это некоторое условие (например, достижение определённой команды в программе), при выполнении которого выполнение программы приостанавливается.
Для установки точки останова достаточно щелкнуть по полю слева от команды мышью или нажать клавишу F9 в строке, на которой требуется прервать выполнение программы (Error: Reference source not found).
Рис. 1. Точка останова
Рис. 2. Точка останова с условием
Отладочные символы
Конечно, возможность читать данные из памяти отлаживаемого процесса полезна. Но для программиста на C++ гораздо удобнее просматривать значения переменных, а не безликих ячеек памяти. Пошаговую отладку также гораздо удобнее выполнять по исходному тексту программы, а не по ассемблерному листингу. Чтобы это стало возможным, применяются отладочные символы (debugging symbols). Эти символы генерируются в процессе построения программы. Существуют различные форматы записи символов. По умолчанию Visual C++ записывает их в отдельный файл с расширением PDB, включая в приложение или DLL абсолютный путь к этому файлу.
PDB-файл содержит информацию, которая позволяет определить адрес любой переменной, функции или строки кода. Возможно и обратное преобразование. Кроме того, в PDB-файл включается информация о типах. Благодаря этому отладчик может не только считать из памяти значение переменной, но и выдать это значение на экран в определённом виде (в зависимости от типа переменной). Пошаговая отладка по исходному тексту также становится возможна (при условии, что у вас есть этот исходный текст, так как он не включается в PDB-файл).
Обратите внимание, что отладочные символы хранятся отдельно для каждого модуля (EXE или DLL). Вполне возможна ситуация, когда отладочные символы доступны для DLL, которую загружает приложение, но не для самого приложения. В этом случае код DLL можно будет отлаживать на уровне исходных текстов, а код приложения – на уровне ассемблера.
Настройка параметров отладки.
Для настройки отладки используется закладка Debug в окне Project->Properties (Error: Reference source not found).
Рис. 7. Параметры отладки приложения
Можно настраивать следующие параметры:
Command. Какую программу выполнять для отладки данного модуля (это может быть не только текущая программа, но если вы отлаживаете DLL библиотеку то и другая программа, или, даже, explorer.exe если вы пишите расширение оболочки)
Command arguments. Параметры для запуска этой команды
Working Directory. Рабочий каталог, в котором выполняется программа.
Attach. Определяет должен ли отладчик запустить новый процесс или подключится к существующему (имеет смысл при отладке библиотек).
Debugger type. Тип отладчика.
Отладка
Чтобы вы могли контролировать выполнение программы и наблюдать её состояние, нужно запустить её под управлением отладчика Visual C++. Для этой цели используются команды из меню Debug.
Start Debugging (F5) запускает отладку приложения.
Start Without Debugging (Ctrl + F5) запускает программу без отладки.
Attach to Process подключается к уже запущенному процессу для его отладки.
Step Into (F11) выполняет программу по шагам, заходя в каждую функцию.
Step Over (F10) запускает выполнение программы по шагам не заходя в функции.
Во время отладки, помимо Step Into и Step Over доступны также следующие команды:
Step Out (Shift + F11) выполнять программу до выхода из текущей функции.
Run to Cursor (Ctrl + F10) выполняет программу до текущей позиции курсора.
Stop Debugging (Shift + F5) прерывает выполнение приложения.
Restart (Ctrl + Shift + F5) перезапускает приложение в режиме отладки.