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