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

 

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

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

System_CAPS_ICON_warning.jpg Предупреждение

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

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

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

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

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

- Локальный отладчик 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).

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

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

- Удаленный доступ с аутентификацией Windows
- Удаленный доступ без аутентификации Windows (только машинный код)

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

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

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

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

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

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

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

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

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

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

ПараметрОписание
Создавать отладочную информацию (/DEBUG)Указывает компоновщику необходимость включать сведения, формат которых задается ключом /Z7, /Zd, Zi или /ZI.
Создавать файл базы данных программы (/PDB:)В этом поле вводится имя 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.

Отладка машинного кода
Параметры отладки и подготовка
Создание проектов Visual C++ и управление ими
/ASSEMBLYDEBUG (добавление атрибута DebuggableAttribute)
Макросы для команд и свойств построения

Показ: