Параметры проекта для конфигурации отладки C++

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

Примечание.

Параметры отладки для проекта, указанные в категории Свойства конфигурации/Отладка, будут разными для приложений UWP и компонентов, написанных на C++. См. сведения о запуске сеанса отладки (VB, C#, C++ и XAML).

При сохранении решения каждый параметр свойств, связанных с отладкой, автоматически записывается и сохраняется в индивидуальном пользовательском файле (.vcxproj.user) для решения.

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

Папка "Свойства конфигурации" (категория "Отладка")

Параметр Description
Отладчик для запуска Позволяет выбрать отладчик для запуска из следующих вариантов:

- Локальный отладчик Windows
- Удаленный отладчик Windows
- Отладчик веб-браузера
- Отладчик веб-служб
Команда (локальный отладчик Windows) Задает команду для запуска отлаживаемой программы на локальном компьютере.
Удаленная команда (удаленный отладчик Windows) Путь к EXE-файлу на удаленном компьютере. Путь следует вводить в том же виде, в каком он вводился бы на удаленном компьютере.
Аргументы команды (локальный отладчик Windows)

Аргументы удаленной команды (удаленный отладчик Windows)
— Задает аргументы для указанной выше команды.

В этом поле можно использовать следующие операторы перенаправления:

< file
Чтение потока stdin из файла.

> file
Запись потока stdout в файл.

>> file
Добавление потока stdout в файл.

2>file
Запись потока stderr в файл.

2>>file
Добавление потока stderr в файл.

2> &1
Перенаправление вывода потока stderr (2) в то же место назначения, что и у потока stdout (1).

1> &2
Перенаправление вывода потока stdout (1) в то же место назначения, что и у потока stderr (2).

В большинстве случаев эти операторы применимы только для консольных приложений.

Если необходимо экранировать символы в команде, можно использовать значения ASCII, например %25 для замены %. Если вы используете команду Начать отладку, двойные кавычки будут экранировать предыдущие команды, например "<" для замены <.
Рабочий каталог Указывает рабочий каталог отлаживаемой программы относительно каталога проекта, в котором расположен исполняемый EXE-файл. Если оставить это поле пустым, каталогом проекта будет являться рабочий каталог. При удаленной отладке каталог проекта располагается на удаленном сервере.
Присоединиться (локальный отладчик Windows и удаленный отладчик Windows) Указывает, запускать ли приложение или выполнять присоединение к этому приложению. По умолчанию выбрано значение "Нет".
Имя удаленного сервера (удаленный отладчик Windows) Задает имя компьютера (не вашего), на котором предполагается производить отладку приложения.

Макрос сборки "RemoteMachine" принимает значение этого свойства. Дополнительные сведения см. в разделе Макрос для команд и свойств сборки.
Подключение (удаленный отладчик Windows) Выбор типа подключения для удаленной отладки: стандартное подключение или подключение без аутентификации. Укажите имя удаленного компьютера в поле Имя удаленного сервера. Доступны следующие типы подключения:

- Удаленный доступ с проверкой подлинности Windows
- Удаленный доступ без проверки подлинности

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

Дополнительные сведения см. в разделе Настройка удаленной отладки.
URL-адрес HTTP (отладчик веб-служб и отладчик веб-браузера) Указывает URL-адрес, по которому расположен отлаживаемый проект.
Тип отладчика Указывает тип используемого отладчика: Только машинный код, Только управляемый код, Только GPU, Смешанный код, Авто (по умолчанию) или Скрипт.

- Только машинный код — используется для неуправляемого кода C++.
- Только управляемый код — используется для кода, выполняемого в среде CLR (управляемого кода).
- Смешанный код — вызывает отладчики как для управляемого, так и для неуправляемого типов кода.
- Авто — определяет тип отладчика на основании информации компилятора и исполняемого файла.
- Скрипт — вызывает отладчик для скриптов.
- Только графический процессор — для кода C++ AMP, который выполняется на устройстве GPU или на средстве программной прорисовки DirectX. См. сведения об отладке кода GPU.
Среда (локальный отладчик Windows и удаленный отладчик Windows) Указывает переменные среды для отлаживаемой программы. Используйте стандартный синтаксис для переменных среды (например, PATH="%SystemRoot%\..."). Эти переменные переопределяют системную среду или объединяются с ее переменными, в зависимости от значения параметра Объединение среды. Если щелкнуть по правому столбцу, появится элемент "Изменить...". Выберите ссылку, чтобы открыть редактор свойств и изменить переменные среды. Чтобы добавить несколько переменных среды, используйте редактор свойств и добавьте одну переменную на строку.
Объединение среды (локальный отладчик Windows) Определяет, будут ли переменные, указанные в поле Среда, объединяться со средой, определяемой операционной системой. По умолчанию выбрано значение "Да".
Отладка SQL (все, за исключением отладчика MPI-кластера) Включает отладку SQL-процедур из приложения Visual C++. По умолчанию выбрано значение "Нет".
Тип ускорителя отладки (только для отладки GPU) Указывает устройство GPU для отладки. При установке драйверов устройств для совместимых устройств GPU добавляются дополнительные параметры. По умолчанию установлено значение Программный эмулятор GPU.
Стандартное поведение точек останова для GPU (только для отладки GPU) Указывает, должно ли событие точки останова вызываться для каждого потока в варпе SIMD. По умолчанию выбран однократный вызов события точки останова для каждого варпа.
Ускоритель по умолчанию для AMP Определяет ускоритель, по умолчанию используемый для AMP при отладке кода GPU. Выберите Ускоритель ПО WARP, чтобы выяснить, вызвана ли проблема оборудованием или драйвером, а не кодом.
Каталог развертывания (удаленный отладчик Windows) Задает путь на удаленном компьютере, куда будут копироваться выходные данные проекта перед запуском. Путь может быть сетевой папкой на удаленном компьютере, либо это может быть путь к папке на удаленном компьютере. По умолчанию это поле пусто, что означает, что выходные данные проекта не копируются в сетевую папку. Чтобы включить развертывание файлов, нужно также установить флажок Развертывание в диалоговом окне "Диспетчер конфигураций". Дополнительные сведения см. в разделе Практическое руководство. Создание и изменение конфигураций.
Дополнительные файлы развертывания (удаленный отладчик Windows) Если задано свойство "Каталог развертывания", копироваться в каталог развертывания будет разделенный точками с запятой список дополнительных папок или файлов. По умолчанию это пустое поле, что означает, что никакие дополнительные папки или файлы в каталог развертывания не копируются. Чтобы скопировать содержимое папки в ту же папку в каталоге развертывания, укажите имя папки. Чтобы включить развертывание файлов, нужно также установить флажок Развертывание в диалоговом окне "Диспетчер конфигураций". Дополнительные сведения см. в разделе Практическое руководство. Создание и изменение конфигураций.
Развертывание отладочных библиотек времени выполнения Visual C++ (удаленный отладчик Windows) Если в поле "Каталог развертывания" задан каталог развертывания, данный параметр указывает, должны ли библиотеки времени выполнения отладки Visual C++ для текущей платформы копироваться в сетевую папку. Значением по умолчанию является "Да".

Папка "C/C++" (категория "Общие")

Параметр Description
Формат отладочной информации (/Z7, /Zd, Zi, /ZI) Указывает тип отладочных данных, создаваемых для проекта.

По умолчанию установлен формат /ZI, означающий создание базы данных программы (PDB) в формате, совместимом с операцией "Изменить и продолжить". Дополнительные сведения см. в разделе /Z7, /Zd, /Zi, /ZI (формат отладочной информации).

Папка "C/C++" (категория "Оптимизация")

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

По умолчанию установлено значение Отключено (/0d), то есть оптимизация не производится. Можно производить разработку при отключенной оптимизации и включить оптимизацию только при создании рабочей версии программы.

Папка "Компоновщик" (категория "Отладка")

Параметр Description
Создавать отладочную информацию (/DEBUG) Указывает компоновщику включать сведения, формат которых задается ключом /Z7, /Zd, Zi или /ZI.
Создавать файл базы данных программы (/PDB:name) Введите в это поле имя PDB-файла (базы данных программы). Должен быть выбран формат отладочной информации ZI или /Zi.
Удалить закрытые символы (/PDBSTRIPPED:filename) В этом поле задается имя PDB-файла в том случае, если в PDB-файл не должны выводиться закрытые символы. Этот параметр создает второй PDB-файл при сборке образа программы с любыми параметрами компилятора или компоновщика, которые создают PDB-файл (например, /DEBUG, /Z7, /Zd или /Zi). Второй PDB-файл не содержит символов, которые нежелательно передавать клиентам. Дополнительные сведения см. в разделе /PDBSTRIPPED (пропуск частных символов).
Создавать файл сопоставления (/MAP) Указывает компоновщику на необходимость создания файла сопоставления во время компоновки. По умолчанию выбрано значение "Нет". Дополнительные сведения см. в разделе Параметр /MAP (создание файла сопоставления).
Имя файла сопоставления (/MAP:имя) Если выбрано создание файла сопоставления, в этом поле можно указать имя файла сопоставления. Дополнительные сведения см. в разделе Параметр /MAP (создание файла сопоставления).
Сопоставлять экспортируемые функции (/MAPINFO:EXPORTS) Включение экспортируемых функций в файл сопоставления. По умолчанию выбрано значение "Нет". См. сведения в описании аргумента /MAPINFO (включение сведений в файл сопоставления).
Отлаживаемая сборка (/ASSEMBLYDEBUG) Задает параметры для параметра компоновщика /ASSEMBLYDEBUG. Возможны следующие значения:

- Атрибут Debuggable не порождается.
- Отслеживание во время выполнения и отключение оптимизации (/ASSEMBLYDEBUG). Это значение установлено по умолчанию.
- Нет отслеживания во время выполнения и отключения оптимизации (/ASSEMBLYDEBUG:DISABLE).
- <наследовать от родителя или от значений по умолчанию для проекта>.
— Дополнительные сведения см. в разделе Параметр /ASSEMBLYDEBUG (добавление атрибута DebuggableAttribute).

Эти параметры в папке "Свойства конфигурации" (категория "Отладка") можно изменить программным путем с помощью интерфейса Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings. Дополнительные сведения см. в разделе VCDebugSettings.

Другие параметры проекта

Для отладки таких проектов, как статические библиотеки и библиотеки DLL, проект Visual Studio должен иметь возможность найти нужные файлы. Если исходный код доступен, добавьте статические библиотеки и библиотеки DLL в то же решение в виде отдельных проектов, чтобы упростить отладку. См. сведения о создании таких типов проектов в руководстве о создании и использовании библиотеки динамической компоновки (DLL) и создании и использовании статической библиотеки. Если исходный код доступен, можно создать новый проект Visual Studio, последовательно выбрав Файл>Создать>Проект из существующего кода.

См. сведения об отладке библиотек DLL, которые являются внешними по отношению к проекту. Если вам нужно выполнить отладку проекта библиотеки DLL без обращения к проекту вызывающего приложения, см руководство по отладке из проекта DLL.

См. также