Freigeben über


/DEBUG (Debuginformationen generieren)

Die /DEBUG Linkeroption erstellt eine Debuginformationsdatei für die ausführbare Datei.

Syntax

/DEBUG[:{FASTLINK||FULLNONE}]

Hinweise

Die /DEBUG Option fügt die Debuginformationen aus verknüpften Objekt- und Bibliotheksdateien in eine Programmdatenbankdatei (PDB) ein. Er aktualisiert die PDB während nachfolgender Builds des Programms.

Eine ausführbare Datei (eine EXE- oder DLL-Datei), die für das Debuggen erstellt wurde, enthält den Namen und Pfad des entsprechenden PDB. Der Debugger liest den eingebetteten Namen und verwendet die PDB, wenn Sie das Programm debuggen. Der Linker verwendet den Basisnamen des Programms und die Erweiterung .pdb , um die Programmdatenbank zu benennen, und bettet den Pfad ein, in dem es erstellt wurde. Um diese Standardeinstellung außer Kraft zu setzen, legen Sie die /PDB Option fest, und geben Sie einen anderen Dateinamen an.

Die /DEBUG:FASTLINK Option ist in Visual Studio 2017 und höher verfügbar. Diese Option generiert einen begrenzten PDB, der in die Debuginformationen in den Objektdateien und Bibliotheken indizes, die zum Erstellen der ausführbaren Datei verwendet werden, anstatt eine Vollkopie zu erstellen. Sie können diese eingeschränkte PDB nur verwenden, um vom Computer zu debuggen, auf dem die Binärdatei und die zugehörigen Bibliotheken erstellt wurden. Wenn Sie die Binärdatei an anderer Stelle bereitstellen, können Sie sie remote vom Buildcomputer debuggen, aber nicht direkt auf dem Testcomputer. Seit Visual Studio 2019 /DEBUG:FULL haben sich die Verknüpfungszeiten erheblich verbessert und /DEBUG:FASTLINK sind nicht immer schneller als /DEBUG:FULL. Da /DEBUG:FASTLINK es keine großen Verbesserungen bei der Buildzeit mehr gibt und zu einer langsameren /DEBUG:FULLDebugerfahrung im Vergleich dazu führt, wird diese Option nicht mehr empfohlen.

Ein /DEBUG:FASTLINK PDB kann in einen vollständigen PDB konvertiert werden, den Sie für das lokale Debuggen auf einem Testcomputer bereitstellen können. Verwenden Sie in Visual Studio das Dialogfeld "Eigenschaftenseiten " wie unten beschrieben, um einen vollständigen PDB für das Projekt oder die Projektmappe zu erstellen. In einer Entwickler-Eingabeaufforderung können Sie das mspdbcmf.exe Tool verwenden, um einen vollständigen PDB zu erstellen.

Die /DEBUG:FULL Option verschiebt alle privaten Symbolinformationen aus einzelnen Kompilierungsprodukten (Objektdateien und Bibliotheken) in einen einzelnen PDB und kann der zeitaufwendigste Teil des Links sein. Allerdings kann die vollständige PDB verwendet werden, um die ausführbare Datei zu debuggen, wenn keine anderen Buildprodukte verfügbar sind, etwa wenn die ausführbare Datei bereitgestellt wird.

Die /DEBUG:NONE Option generiert keinen PDB.

Die Angabe /DEBUG ohne zusätzliche Argumente entspricht der Angabe /DEBUG:FULL.

Die Compileroption /Z7 (C7-kompatibel) bewirkt, dass der Compiler die Debuginformationen in den OBJ-Dateien (Object) belässt. Sie können auch die /Zi Compileroption (Programmdatenbank) verwenden, um die Debuginformationen in einer PDB für die OBJ-Datei zu speichern. Der Linker sucht zuerst im absoluten Pfad, der in der OBJ-Datei geschrieben wurde, nach dem PDB des Objekts und dann im Verzeichnis, das die OBJ-Datei enthält. Sie können den PDB-Dateinamen oder Speicherort eines Objekts nicht für den Linker angeben.

/INCREMENTAL wird impliziert, wenn /DEBUG angegeben wird.

/DEBUGändert die Standardwerte für die /OPT Option von REF zu NOREF und von ICF zu NOICF, sodass Sie die ursprünglichen Standardwerte explizit oder nach der /DEBUG Option angeben /OPT:REF /OPT:ICF müssen.

Es ist nicht möglich, eine EXE oder DLL zu erstellen, die Debuginformationen enthält. Debuginformationen werden immer in eine OBJ- oder PDB-Datei eingefügt.

So legen Sie diese Linkeroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Wählen Sie die Eigenschaftenseite "Linker Debugging" aus>.

  3. Ändern Sie die Eigenschaft "Debuginfo generieren", um die PDB-Generierung zu aktivieren oder zu deaktivieren. Diese Eigenschaft aktiviert /DEBUG:FASTLINK standardmäßig in Visual Studio 2017 und höher.

  4. Ändern Sie die Eigenschaft "Vollständige Programmdatenbankdatei generieren", um die vollständige PDB-Generierung für jeden inkrementellen Build zu aktivieren /DEBUG:FULL .

So legen Sie diese Linkeroption programmgesteuert fest

  1. Siehe GenerateDebugInformation.

Siehe auch

MSVC-Linkerreferenz
Linkeroptionen