Поделиться через


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

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

Заметка

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

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

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

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

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

- локальный отладчик Windows
- удалённый отладчик Windows
- отладчика веб-браузера
- отладчик веб-службы
команда (локальный отладчик Windows) Указывает команду для запуска программы, которую вы отлаживаете на локальном компьютере.
удаленная команда (удаленный отладчик Windows) Путь к .exe на удаленном компьютере. Введите путь так же, как и на удаленном компьютере.
Аргументы командной строки (локальный Windows-отладчик)

Аргументы удалённых команд (Удалённый отладчик Windows)
— задает аргументы для программы, которую вы отлаживаете. Дополнительные сведения о способах указания аргументов командной строки см. в отправке аргументов командной строки отлаживаемому приложению (C++).

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

< 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 является более безопасным.

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

- собственные предназначено для неуправляемого кода C++.
- только для управляемого кода — это код, который выполняется в общей среде выполнения (управляемый код).
- смешанный код вызывает отладчики для управляемого и неуправляемого кода.
- Auto определяет тип отладчика на основе информации о компиляторе и EXE.
- скрипт вызывает отладчик для сценариев.
- только GPU используется для кода C++ AMP, работающего на устройстве GPU или на эталонном растеризаторе DirectX. См. Отладка кода GPU.
среда (локальный отладчик Windows и удаленный отладчик Windows) Указывает переменные среды для программы, которую вы отлаживаете. Используйте стандартный синтаксис переменной среды (например, PATH="%SystemRoot%\..."). Эти переменные переопределяют системную среду или объединяются с системной средой в зависимости от параметра среды слияния. При щелчке в правом столбце появится сообщение "Изменить..." . Выберите такую ссылку, чтобы открыть редактор свойств и изменить переменные среды. Чтобы добавить несколько переменных среды, используйте редактор свойств и добавьте одну переменную на строку.
среда слияния (локальный отладчик Windows) Определяет, объединяются ли переменные, указанные в поле среды, с средой, определенной операционной системой. Значение по умолчанию — "Да".
отладка SQL (все, кроме отладчика кластера MPI) Включает отладку процедур SQL из приложения Visual C++. Значение по умолчанию — Нет.
тип акселератора отладки (только отладка GPU) Указывает устройство GPU, используемое для отладки. Установка драйверов устройств для совместимых устройств GPU добавляет дополнительные параметры. Параметр по умолчанию — GPU — эмулятор программного обеспечения.
Поведение точки останова GPU по умолчанию (только для отладки GPU) Указывает, следует ли вызывать событие точки останова для каждого потока в warp SIMD. Параметром по умолчанию является вызов события точки останова только один раз для каждого warp.
Amp акселератор по умолчанию Указывает акселератор AMP по умолчанию при отладке кода GPU. Выберите программный ускоритель WARP, чтобы выяснить, вызвана ли проблема оборудованием или драйвером, а не вашим кодом.
каталог развертывания (удаленный отладчик 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:name) Укажите имя файла базы данных программы (PDB) в этом поле. Необходимо выбрать ZI или /Zi для формата сведений отладки.
Удалить частные символы (/PDBSTRIPPED:filename) Укажите имя PDB-файла в этом поле, если вы не хотите включать закрытые символы в PDB-файл. Этот параметр создает второй PDB-файл при создании образа программы с любым из параметров компилятора или компоновщика, создающих PDB-файл, например /DEBUG, /Z7, /Zd. Или /Zi. Второй PDB-файл пропускает символы, которые вы не хотите отправлять клиентам. Дополнительные сведения см. в разделе /PDBSTRIPPED (удаление частных символов).
создать файл карты (/MAP) Указывает компоновщику создать карт-файл во время связывания. Значение по умолчанию — Нет. Дополнительные сведения см. в разделе /MAP (Создание mapfile).
Имя файла карты (/MAP:имя) При выборе "Создать файл карты" можно указать файл карты в этом поле. Дополнительные сведения см. в разделе /MAP (Создание mapfile).
Экспорт карт (/MAPINFO:EXPORTS) Включает экспортированные функции в файл карты. Значение по умолчанию — Нет. Дополнительные сведения см. в /MAPINFO (включение сведений в Mapfile).
Отлаживаемая сборка (/ASSEMBLYDEBUG) Задает настройки для опции Компоновщика /ASSEMBLYDEBUG. Возможные значения:

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

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

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

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

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

См. также