/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
Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.
Klikněte na složku C/C++.
Klikněte na stránku vlastností Obecné.
Změňte vlastnost Formát ladění informací.
Chcete-li tuto možnost kompilátoru nastavit v programu
- Další informace naleznete v tématu DebugInformationFormat.