Sdílet prostřednictvím


/Z7, /Zi, /ZI (formát ladicích informací)

Vyberte typ informací o ladění vytvořených pro váš program a zda jsou tyto informace uchovávány v souborech objektů (.obj) nebo v databázi programu (PDB).

/Z{7|i|I}

Poznámky

Tyto možnosti jsou popsány v následující tabulce.

  • Žádná
    Nevytváří žádné ladicí informace, kompilace je proto rychlejší.

  • /Z7
    Vytvoří soubor .obj obsahující úplné symbolické ladicí informace pro použití s ladicím programem.Symbolické ladicí informace obsahují názvy a typy proměnných a také funkce a čísla řádků.Není vytvořen žádný soubor PDB.

    Pro distributory knihoven třetích stran je výhodné nemít soubor .pdb.Nicméně soubory .obj pro předkompilované záhlaví jsou nezbytné během fáze propojení a ladění.Pokud existuje pouze typ informací (a žádný kód) v souborech .pch objektu, budete muset kompilovat s /Yl (Vložit referenci PCH do ladicí knihovny).

  • /Zi
    Vytvoří databázi programu (PDB) obsahující informace o typech a symbolickém ladění, které se používají s ladicím programem.Symbolické ladicí informace obsahují názvy a typy proměnných a také funkce a čísla řádků.

    /Zi nemá vliv na optimalizaci.Nicméně /Zi vyjadřuje /debug; viz /DEBUG (Generovat ladicí informace) pro více informací.

    Informace o typu jsou umístěny v souboru .pdb, nikoli v souboru obj.

    Můžete použít /Gm (Povolit minimální opětovné sestavení) s /Zi, přičemž /Gm není při kompilaci s /Z7 k dispozici.

    Při kompilaci s /Zi a /clr, atribut DebuggableAttribute nebude umístěn v sestavení metadat; je nutné zadat ho ve zdrojovém kódu, pokud chcete.Tento atribut může ovlivnit výkon aplikace za běhu.Další informace, jak laditelné atributy ovlivňují výkon a jak můžete upravit dopad na výkon, naleznete v tématu Usnadnění ladění obrázku.

  • /ZI
    Vytvoří výše popsanou databázi programu ve formátu, který podporuje funkce Upravit a Pokračovat.Pokud chcete použít ladění Upravit a pokračovat, musíte použít tuto možnost.Vzhledem k tomu, že většina optimalizací není kompatibilních s funkcí Upravit a pokračovat, příkaz /ZI zakáže všechny příkazy #pragma optimize ve vašem kódu.

    /ZI způsobí, že v kompilaci se použije /Gy (povolení propojení na úrovni funkcí) a /FC (úplná cesta k souboru zdrojového kódu v diagnostice).

    /ZI není kompatibilní s /clr (Common Language Runtime).

    [!POZNÁMKA]

    /ZI je k dispozici pouze v kompilátoru, který cílí na architekturu x86; tato možnost kompilátoru není dostupná v kompilátorech, které cílí na x64 nebo procesory ARM.

Kompilátor pojmenuje databázi programu projectpdb.Pokud kompilujete soubor bez projektu, kompilátor vytvoří databázi s názvem VCx0.pdb., kde x je hlavní používaná verze Visual C++.Kompilátor vloží název PDB do každého souboru .obj vytvořeného s touto volbou, přičemž odkazuje ladicí program na umístění symbolických informací a informací o čísle řádku.Použijete-li tuto možnost, budou soubory .obj menší, protože ladicí informace jsou uloženy v souboru .pdb, nikoli v souborech .obj.

Pokud vytvoříte knihovnu z objektů, které byly zkompilovány pomocí této možnosti, přidružený soubor PDB musí být k dispozici, když knihovně je spojena s programem.Proto při distribuci knihovny je nutné distribuovat PDB.

Chcete-li vytvořit knihovnu, která obsahuje informace o ladění, bez použití souborů PDB, je nutné vybrat možnost kompilátoru kompatibilní s C 7.0 (/Z7).Pokud použijete možnosti předkompilovaného záhlaví, ladicí informace pro předkompilované záhlaví a zbytek zdrojového kódu se umístí do PDB.Možnost /Yd je ignorována, pokud je zadán parametr databáze programu.

Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.

  2. Klikněte na složku C/C++.

  3. Klikněte na stránku vlastností Obecné.

  4. Změňte vlastnost Formát ladění informací.

Chcete-li tuto možnost kompilátoru nastavit v programu

Viz také

Referenční dokumentace

Možnosti kompilátoru

Nastavení možností kompilátoru