/DEBUG
(Generování informací o ladění)
Možnost /DEBUG
linkeru vytvoří pro spustitelný soubor s informacemi o ladění.
Syntaxe
/DEBUG
[:
{FASTLINK
||FULL
NONE
}]
Poznámky
Možnost /DEBUG
umístí informace o ladění z propojených objektů a souborů knihovny do souboru databáze programu (PDB). Aktualizuje soubor PDB během následných sestavení programu.
Spustitelný soubor (soubor EXE nebo DLL) vytvořený pro ladění obsahuje název a cestu odpovídající pdB. Ladicí program přečte vložený název a při ladění programu použije pdB. Linker používá základní název programu a rozšíření .pdb
k pojmenování databáze programu a vloží cestu, do které byla vytvořena. Pokud chcete toto výchozí nastavení přepsat, nastavte /PDB
možnost a zadejte jiný název souboru.
Tato /DEBUG:FASTLINK
možnost je dostupná v sadě Visual Studio 2017 a novějších verzích. Tato možnost vygeneruje omezenou sadu PDB, která indexuje informace o ladění v souborech objektů a knihovnách používaných k sestavení spustitelného souboru místo vytvoření úplné kopie. Tento omezený soubor PDB můžete použít pouze k ladění z počítače, kde byl binární soubor a jeho knihovny sestaveny. Pokud binární soubor nasadíte jinde, můžete ho vzdáleně ladit z počítače sestavení, ale ne přímo na testovacím počítači. Od sady Visual Studio 2019 /DEBUG:FULL
se doba propojení výrazně zlepšila a /DEBUG:FASTLINK
není vždy rychlejší než /DEBUG:FULL
. Vzhledem k tomu, že /DEBUG:FASTLINK
již neposkytuje velká vylepšení času sestavení a výsledkem je pomalejší ladění oproti /DEBUG:FULL
tomu, tato možnost se už nedoporučuje.
Soubor /DEBUG:FASTLINK
PDB lze převést na úplný soubor PDB, který můžete nasadit do testovacího počítače pro místní ladění. V sadě Visual Studio použijte dialogové okno Stránky vlastností, jak je popsáno níže, a vytvořte úplný soubor PDB pro projekt nebo řešení. V příkazovém řádku pro vývojáře můžete pomocí mspdbcmf.exe
nástroje vytvořit úplný soubor PDB.
Tato /DEBUG:FULL
možnost přesune všechny informace o privátních symbolech z jednotlivých kompilačních produktů (souborů objektů a knihoven) do jediného SOUBORU PDB a může být časově náročnou součástí odkazu. Úplný soubor PDB lze však použít k ladění spustitelného souboru, pokud nejsou k dispozici žádné jiné produkty sestavení, například při nasazení spustitelného souboru.
Tato /DEBUG:NONE
možnost nevygeneruje pdb.
Zadání /DEBUG
bez argumentů navíc odpovídá zadání /DEBUG:FULL
.
Možnost kompilátoru /Z7
(kompatibilní s jazykem C7) způsobí, že kompilátor nechá informace o ladění v souborech objektu (OBJ). Můžete také použít možnost kompilátoru /Zi
(Program Database) k uložení informací o ladění do SOUBORU PDB pro soubor OBJ. Linker nejprve vyhledá PDB objektu v absolutní cestě napsané v souboru OBJ a potom v adresáři, který obsahuje soubor OBJ. Do linkeru nemůžete zadat název souboru PDB objektu ani jeho umístění.
/INCREMENTAL
je implicitní při /DEBUG
zadání.
/DEBUG
změní výchozí hodnoty pro /OPT
možnost z NOREF
REF
a z ICF
do NOICF
, takže pokud chcete původní výchozí hodnoty, musíte explicitně zadat /OPT:REF
nebo /OPT:ICF
za možností/DEBUG
.
Nelze vytvořit exe nebo knihovnu DLL, která obsahuje informace o ladění. Ladicí informace se vždy umístí do souboru OBJ nebo PDB.
Nastavení tohoto parametru linkeru ve vývojovém prostředí sady Visual Studio
Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.
Vyberte stránku vlastností Ladění linkeru>.
Upravte vlastnost Generovat informace o ladění tak, aby povolovala nebo zakázala generování PDB. Tato vlastnost se
/DEBUG:FASTLINK
ve výchozím nastavení povolí v sadě Visual Studio 2017 a novějších verzích.Upravte vlastnost Generate Full Program Database File (Vygenerovat soubor úplné databáze programu), aby bylo možné povolit
/DEBUG:FULL
úplné generování PDB pro každé přírůstkové sestavení.
Programové nastavení tohoto parametru linkeru
- Viz třída GenerateDebugInformation.