Параметры проекта для конфигурации отладки 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.