Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом кратком руководстве вы узнаете, как использовать отладчик Visual Studio для отладки собственного кода C++. В этой статье представлен быстрый способ изучения некоторых основных функций для работы в отладчике.
Если у вас нет Visual Studio, вы можете установить бесплатную пробную версию со страницы загрузки Visual Studio.
Создание нового проекта
Начните с создания нового проекта, поэтому у вас есть код для проверки отладчика.
Откройте Visual Studio и создайте проект.
Если окно запуска не открыто, выберитеокно "Пуск>".
В окне "Пуск" выберите "Создать проект".
В окне создания проекта задайте фильтры и найдите шаблон проекта.
В поле "Поиск шаблонов " введите пустое значение.
Разверните раскрывающийся список "Язык " и выберите C++.
В списке результатов выберите шаблон Empty Project для C++, а затем выберите Next.
Если вы не видите шаблон Empty Project для C++, выберите параметр Continue без кода.
Выберите Tools>Get Tools and Features... , который открывает установщик Visual Studio.
В окне установщика установите флажок Разработка классических приложений на C++, а затем нажмите кнопку «Изменить».
Установленная версия Visual Studio будет обновлена и будет включать выбранную рабочую нагрузку C++.
После завершения обновления выберитеокно запуска> и следуйте предыдущим инструкциям, чтобы выбрать необходимый шаблон.
Настройте новый проект:
Введите имя Project и Solution name или используйте значения по умолчанию.
Используйте местоположение по умолчанию или нажмите ... («Обзор»), чтобы создать проект в другой папке.
Нажмите кнопку "Создать".
Visual Studio создает новый проект и добавляет файлы проекта в указанную папку.
Добавление файла проекта
Добавьте файл кода, чтобы у вас было содержимое для тестирования в отладчике.
В области Обозреватель решений Щелкните правой кнопкой мыши <project-name> и выберите Add>New Item.
Если панель Обозреватель решений не отображается, выберите View>Обозреватель решений.
В диалоговом окне "Добавление нового элемента" введите имя файла MyDbgApp.cpp и нажмите кнопку "Добавить".
Файл откроется в редакторе кода.
Добавьте следующий код в новый файл.
#include <list> #include <iostream> using namespace std; void doWork() { list <int> c1; c1.push_back(10); c1.push_back(20); const list <int> c2 = c1; const int &i = c2.front(); const int &j = c2.front(); cout << "The first element is " << i << endl; cout << "The second element is " << j << endl; } int main() { doWork(); }Сохраните изменения файла с помощью сочетания клавиш CTRL+S .
Установка точки останова
breakpoint — это маркер, указывающий, где Visual Studio следует приостановить выполнение кода. При установке точки останова можно просмотреть текущие значения переменных, проверить поведение памяти и проверить, выполняется ли определенная ветвь кода. Точки останова — это самая базовая функция отладки.
Чтобы задать точку останова, найдите вызов
doWork()функции в коде, а затем выберите в левой области в той же строке.Когда точка останова установлена, в левом поле на соответствующей строке кода отображается красная точка.
Начните отладку, используя сочетание клавиш F5 (или выберите Отладка>Начать отладку).
Выполнение кода приостанавливается непосредственно перед вызовом
doWork()функции.Отладчик приостанавливается на месте установки точки останова. Желтая стрелка определяет инструкцию, в которой отладчик приостанавливает выполнение приложения.
Подсказка
При отладке сбоев, связанных с использованием памяти, в вашем коде на C++ можно также использовать точки останова, чтобы проверять значения адресов (ищите
NULL) и счётчики ссылок.
Установка условных точек останова
Если вы устанавливаете точку останова в цикле или рекурсии либо вам часто приходится пошагово проходить множество точек останова, используйте условную точку останова.
Этот подход помогает убедиться, что код приостановлен только при выполнении определенных условий. Условная точка останова может сэкономить время, а также упростить отладку проблем, которые трудно воспроизвести.
Разберите свой код пошагово
Visual Studio предоставляет несколько различных способов указания отладчику продолжить выполнение приложения. В следующем примере показана полезная команда для обхода кода.
Пока код приостановлен в точке останова, наведите указатель мыши на инструкциюc1.push_back(20), пока не увидите зеленый значок "Выполнить", чтобы щелкнуть (выполнить выполнение здесь).
Выберите значок.
Пока код приостановлен в точке останова, наведите указатель мыши на инструкциюc1.AddLast(20), пока не увидите зеленый значок "Выполнить", чтобы щелкнуть (выполнить выполнение здесь).
Выберите значок.
Приложение продолжает выполнение, вызывает doWork и приостанавливается на строке кода, где вы выбрали «Run to click».
Распространенные команды клавиатуры, используемые для пошагового выполнения кода, включают F10 и F11. Дополнительные инструкции см. в разделе Overview отладчика Visual Studio.
Проверка переменных в подсказке данных
Вы можете проверить состояние переменных с помощью функции подсказки данных .
В текущей строке кода (помеченной желтым указателем выполнения), наведите указатель мыши на
c1объект, чтобы увидеть подсказку данных.
Подсказка данных показывает текущее значение переменной
c1и позволяет изучить её свойства.При отладке, если вы видите неожиданное значение для переменной, вероятно, у вас есть ошибка. Ошибка может находиться в коде, который вызывает переменную или в предыдущей строке.
Разверните совет по данным, чтобы просмотреть текущие значения свойств объекта
c1.Чтобы продолжить отслеживать значение
c1во время выполнения кода, выберите значок закрепления
в подсказке данных.Действие закрепления оставляет всплывающую подсказку с данными открытой. По мере выполнения кода значение в закреплённой подсказке меняется, отображая текущее состояние отслеживаемого объекта.
Вы можете переместить закрепленную подсказку в любое место в IDE, чтобы она не мешала видеть другие элементы во время отладки.
Включение горячей перезагрузки во время отладки
При отладке, если вы видите изменения, которые вы хотите протестировать в коде, можно использовать функцию Горячая перезагрузка (ранее называемую Edit и Continue).
Выберите второй экземпляр инструкции
c2.front()и измените код наc2.back().Нажмите F10 несколько раз (или выберите Отладка>Шаг с обходом несколько раз), чтобы продвинуть отладчик и выполнить изменённый код.
F10 продвигает отладчик по одному оператору за раз, но перескакивает функции, а не заходит в них (этот код все равно выполняется).
Дополнительные сведения о функции и ограничениях см. в разделе Configure Горячая перезагрузка.