/Z7, /Zi, /ZI (формат отладочной информации)
Выбрать тип отладочных данных, созданных для программы, а также определить, следует ли хранить эти данные в объектных файлах (.obj) или в базе данных программы (PDB).
/Z{7|i|I}
Заметки
Данные параметры описаны в следующей таблице.
Нет
Не предоставляет отладочной информации, и компиляция выполняется быстрее./Z7
Создает OBJ-файл, содержащий полные сведения об отладке символов для использования с отладчиком. Символьная отладочная информация включает имена и типы переменных, а также функции и номера строк. PDB-файл не создается.Отсутствие PDB-файла является преимуществом для распространителей сторонних библиотек. На этапе компоновки и отладки, однако, OBJ-файлы необходимы для предкомпилированных заголовков. Если в объектных PCH-файлах присутствует только информация о типах (без кода), компиляцию будет необходимо провести с параметром Параметр /Yl (вставка ссылки на PCH-файл для библиотеки отладки).
/Zi
Создание базы данных программы (PDB), содержащей сведения о типах и символьную отладочную информацию для использования с отладчиком. Символьная отладочная информация включает имена и типы переменных, а также функции и номера строк.Параметр /Zi не влияет на оптимизацию. Параметр /Zi, однако, подразумевает использование параметра /debug; дополнительные сведения см. в разделе /DEBUG (создать отладочную информацию).
Информация о типах размещается в PDB-файле, а не в файле OBJ.
С параметром /Zi можно использовать параметр /Gm (включение минимального перепостроения); в то же время параметр /Gm нельзя использовать при компиляции с параметром /Z7.
При компиляции с параметрами /Zi и /clr атрибут DebuggableAttribute не будет помещаться в метаданные сборки; при необходимости его следует задать в исходном коде. Этот атрибут может повлиять на производительность приложения во время выполнения. Дополнительные сведения о влиянии атрибута Debuggable на производительность и о способах изменения его влияния на производительность см. в разделе Упрощение отладки образов.
/ZI
Создает базу данных программы, как описано выше, в формате, который поддерживает функцию "Изменить и продолжить". Если необходимо использовать в отладке режим "Изменить и продолжить", следует использовать этот вариант. Поскольку большинство видов оптимизации несовместимы с функцией "Изменить и продолжить", использование параметра /ZI отменяет любые инструкции #pragma optimize в коде.Использование параметра /ZI приводит к применению в компиляции функций /Gy (включение компоновки на уровне функций) и /FC (полный путь к файлу исходного кода в папке Diagnostics).
Параметр /ZI несовместим с параметром /clr (компиляция CLR).
Примечание
Параметр /ZI доступен только в компиляторе, ориентированном на систему x86; параметр этого компилятора недоступен в компиляторах, предназначенных для x64 или процессоров ARM.
Компилятор дает базе данных программы имя project.pdb. При компиляции файла вне проекта компилятор создает базу данных с именем VCx0.pdb, где x — это основная версия используемого Visual C++. Компилятор внедряет имя базы данных PDB во все OBJ-файлы, созданные с помощью этого параметра, указывая отладчику на местоположение сведений о символах и номерах строк. При использовании этого варианты OBJ-файлы будут иметь более компактные размеры, поскольку отладочная информация хранится в PDB-файле, а не в файлах OBJ.
При создании библиотеки из объектных файлов, созданных с помощью этого параметра, связанный с ними PDB-файл должен быть доступен при компоновке программы с библиотекой. Это означает, что вместе с библиотекой следует распространять и PDB-файл.
Чтобы создать библиотеку, содержащую отладочную информацию, без использования PDB-файлов, необходимо использовать параметр компилятора, включающий режим совместимости с C 7.0 (/Z7). При использовании параметров, связанных с предкомпилированными заголовками, в PDB-файл заносится отладочная информация как для предкомпилированного заголовка, так и для оставшегося исходного кода. При указании параметра базы данных программы параметр /Yd пропускается.
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Открытие свойств страниц проекта.
Откройте папку C/C++.
Выберите страницу свойств Общие.
Измените значение свойства Формат отладочной информации.
Установка данного параметра компилятора программным способом
- См. раздел DebugInformationFormat.