Projekteinstellungen für eine C++-Debugkonfiguration

Sie können die Projekteinstellungen für eine oder Visual C++-Debugkonfiguration Eigenschaftenseiten im Dialogfeld ändern, wie in Gewusst wie: Festlegen von Debug- und Releasekonfigurationen erläutert.Anhand der folgenden Tabellen erfahren Sie, wo die debuggerspezifischen Einstellungen im Dialogfeld Eigenschaftenseiten zu finden sind.

WarnhinweisVorsicht

Die Debug-Projekteinstellungen in der Konfigurationseigenschaften/Debugging Kategorie für Windows Store-Apps und Komponenten, die in C++ geschrieben werden, wurden geändert.Siehe So starten Sie eine Debugsitzung (Visual C++, Visual C# und Visual Basic) in dem Windows-Entwicklungszentrum.

Geben Sie im Listenfeld Zu startender Debugger an, welcher Debugger verwendet werden soll.Die Auswahl beeinflusst, welche Eigenschaften angezeigt werden.

Jede Debugeigenschafteneinstellung wird automatisch in die "Pro Benutzer"-Datei (.vcxproj.user) der Projektmappe geschrieben und dort gespeichert, sobald Sie die Projektmappe speichern.

Ordner "Konfigurationseigenschaften" (Kategorie "Debuggen")

Einstellung

Description

Zu startender Debugger

Gibt den auszuführenden Debugger an. Zur Auswahl stehen:

  • Lokaler Windows-Debugger

  • Remote-Windows-Debugger

  • Webbrowserdebugger

  • Webdienstdebugger

Befehl (Lokaler Windows-Debugger)

Gibt den Startbefehl für das auf dem lokalen Computer zu debuggende Programm an.

Remotebefehl(Remote-Windows-Debugger)

Der Pfad für die EXE-Datei auf dem Remotecomputer.Geben Sie den Pfad ein, so wie Sie ihn auf dem Remotecomputer eingeben würden.

Befehlsargumente (Lokaler Windows-Debugger und Remote-Windows-Debugger)

  • Gibt Argumente für den oben aufgeführten Befehl an.

In diesem Feld können die folgenden Umleitungsoperatoren verwendet werden:

< file

Liest "stdin" aus Datei.

> file

Schreibt "stdout" in Datei.

>> file

Fügt "stdout" an Datei an.

2> file

Schreibt "stderr" in Datei.

2>> file

Fügt "stderr" an Datei an.

2> &1

Sendet "stderr (2)"-Ausgaben an denselben Speicherort wie "stdout (1)".

1> &2

Sendet "stdout (1)"-Ausgaben an denselben Speicherort wie "stderr (2)".

In den meisten Fällen sind diese Operatoren nur auf Konsolenanwendungen anwendbar.

Arbeitsverzeichnis

Gibt das Arbeitsverzeichnis des zu debuggenden Programms relativ zum Projektverzeichnis mit der EXE-Datei an.Wenn Sie kein Arbeitsverzeichnis festlegen, wird das Projektverzeichnis verwendet.Beim Remotedebuggen befindet sich das Projektverzeichnis auf dem Remoteserver.

Anfügen (Lokaler Windows-Debugger und Remote-Windows-Debugger)

Gibt an, ob die Anwendung gestartet oder angefügt werden soll.Die Standardeinstellung ist Nein.

Remoteservername (Remote Windows-Debugger)

Gibt den Namen eines Remotecomputers, auf dem eine Anwendung zu Debugzwecken ausgeführt werden soll, oder einen Msvsmon-Servernamen an.Dies können Sie auch im Dialogfeld Prozesse festlegen. (Weitere Informationen dazu finden Sie unter Auswählen eines Remotecomputers.)Wenn Sie hier den Computernamen angeben, müssen Sie unter Verbindung auch den Verbindungstyp festlegen.

Das RemoteMachine-Buildmakro wird auf den Wert dieser Eigenschaft gesetzt. Weitere Informationen hierzu finden Sie unter Makros für Buildbefehle und -eigenschaften.

Verbindung (Remote Windows-Debugger)

Ermöglicht es Ihnen, für das Remotedebugging zwischen den Verbindungstypen Standard und Ohne-Authentifizierung umzuschalten.Geben Sie im Feld Remoteservername den Namen eines Remotecomputers an.Folgende Verbindungstypen stehen zur Verfügung:

  • Remote mit Windows-Authentifizierung

  • Remote ohne Authentifizierung (nur systemeigen)

Hinweis Remotedebuggen ohne Authentifizierung schlägt möglicherweise den Remotecomputer anfällig für Sicherheitsverletzungen.Der Windows-Authentifizierungsmodus ist sicherer.

Weitere Informationen finden Sie unter Remote Debuggen – Setup.

HTTP-URL (Webdienstdebugger und Webbrowserdebugger)

Gibt die URL zu dem Projekt an, das Sie debuggen.

Debuggertyp

Gibt den Typ des Debuggers verwendet werden soll: Nur systemeigen, Nur verwaltet, Nur GPU, Gemischt, Automatisch (Standard) oder Skript.

  • Nur systemeigen eignet sich für nicht verwalteten C++-Code.

  • Nur verwaltet ist für Code konzipiert, der in der Common Language Runtime ausgeführt wird (verwalteter Code).

  • Durch Gemischt werden Debugger sowohl für verwalteten als auch für nicht verwalteten Code aufgerufen.

  • Automatisch legt den Debuggertyp anhand von Compilerdaten und EXE-Daten fest.

  • Skript ruft einen Debugger für Skripts auf.

  • Nur GPU ist für C++-AMPcode, der auf ein GPU-Gerät oder auf das DirectX-Referenzraster ausgeführt wird.

Umgebung (Lokaler Windows-Debugger)

Gibt die Umgebungsvariablen für das Programm an, das Sie debuggen.Verwenden Sie die standardmäßige Umgebungsvariablensyntax (z. B. PATH="%SystemRoot%\...").Diese Variablen überschreiben die Systemumgebung oder werden mit der Systemumgebung zusammengeführt, je nach Einstellung von Zusammenführungsumgebung.Wenn Sie auf die Spalte Einstellungen klicken, wird "Bearbeiten..." angezeigt.Klicken Sie auf diesen Link, um Umgebungsvariablen zu bearbeiten.

Zusammenführungsumgebung (Lokaler Windows-Debugger)

Bestimmt, ob die in dem Feld Umgebung angegebenen Variablen mit der vom verwendeten System definierten Umgebung zusammengeführt werden.Die Standardeinstellung ist Ja.

SQL-Debuggen (alle außer MPI-Clusterdebugger)

Aktiviert das Debuggen von SQL-Prozeduren über die Visual C++-Anwendung.Die Standardeinstellung ist Nein.

Debuggingbeschleunigungstyp (GPU, das nur Debuggen)

Gibt das GPU-Gerät an, die für das Debuggen zu verwenden.Gerätetreiber für kompatible GPU-Geräte Installieren, fügt zusätzliche Optionen hinzu.Die Standardeinstellung ist "GPU - Software-Emulator."

GPU-Standardhaltepunktverhalten (GPU, das nur Debuggen)

Gibt an, ob ein Haltepunktereignis für jeden Thread in einer SIMD-Verzerrung ausgelöst werden soll.Die Standardeinstellung ist, das Haltepunktereignis nur einmal pro Verzerrung auszulösen.

Bereitstellungsverzeichnis (Remote Windows-Debugger)

Gibt den Pfad auf dem Remotecomputer an, in dem die Projektausgabe vor Start kopiert wird.Der Pfad kann eine Netzwerkfreigabe auf dem Remotecomputer sein, oder es kann ein Pfad zu einem Ordner auf dem Remotecomputer befinden.Die Standardeinstellung ist leer, die bedeutet, dass die Projektausgabe nicht zu einer Netzwerkfreigabe kopiert wird.Um die Bereitstellung der Dateien zu aktivieren, müssen Sie das Kontrollkästchen im Dialogfeld "Konfigurations-Manager" Bereitstellen auch auswählen.Weitere Informationen finden Sie unter Gewusst wie: Erstellen und Bearbeiten von Konfigurationen.

Zusätzliche bereitzustellende Dateien (Remote Windows-Debugger)

Wenn die Bereitstellungs-Verzeichniseigenschaft festgelegt ist, ist dies eine durch Semikolons getrennte Liste der zusätzlich in den Bereitstellungsordner kopiert Dateien.Die Standardeinstellung ist leer, was bedeutet, dass keine zusätzlichen Dateien in den Bereitstellungsordner kopiert werden.Um die Bereitstellung der Dateien zu aktivieren, müssen Sie das Kontrollkästchen im Dialogfeld "Konfigurations-Manager" Bereitstellen auch auswählen.Weitere Informationen finden Sie unter Gewusst wie: Erstellen und Bearbeiten von Konfigurationen.

Visual C++ Debugging-Laufzeitbibliotheken bereitstellen (Remote Windows-Debugger)

Wenn die Bereitstellungs-Verzeichniseigenschaft festgelegt ist, gibt diese an, ob die Visual C++-Debugen Laufzeitbibliotheken für die aktuelle Plattform die Netzwerkfreigabe kopiert werden sollen.Die Standardeinstellung ist.

Ordner "C/C++" (Kategorie "Allgemein")

Einstellung

Description

Debuginformationsformat (/Z7, /Zd, Zi, /ZI)

Gibt den Typ der Debuginformationen an, die für das Projekt zu erstellen sind.

Mit der Standardoption (/ZI) wird eine Programmdatenbank (.pdb) in einem Format erstellt, das mit "Bearbeiten und Fortfahren" kompatibel ist.Weitere Informationen hierzu finden Sie unter /Z7, /Zd, /Zi, /ZI (Debuginformationsformat).

Weitere Informationen finden Sie in PDB-Dateien und DBG-Dateien

Ordner "C/C++" (Kategorie "Optimierung")

Einstellung

Description

Optimierung

Gibt an, ob der Compiler den erstellten Code optimieren soll.Durch die Optimierung wird der auszuführende Code geändert.Optimierter Code entspricht nicht mehr dem Quellcode.Deshalb ist das Debuggen schwierig.

Die Standardoption (Deaktiviert (/0d) unterdrückt eine Optimierung.Sie können mit unterdrückter Optimierung entwickeln und sie anschließend bei der Erstellung der Produktionsversion aktivieren.

Ordner "Linker" (Kategorie "Debuggen")

Einstellung

Description

Debuginfo generieren (/DEBUG)

Weist den Linker an, Debuginformationen in dem durch /Z7, /Zd, Zi oder /ZI festgelegten Format einzulesen.

Programmdatenbank-Datei erstellen (/PDB:name)

In diesem Feld geben Sie den Namen einer PDB-Datei an.Sie müssen ZI oder /Zi als Debuginformationsformat auswählen.

Private Symbole entfernen (/PDBSTRIPPED:Dateiname)

Wenn die PDB-Datei keine privaten Symbole enthalten soll, geben Sie in diesem Feld den Namen einer PDB-Datei ein.Diese Option generiert eine zweite Programmdatenbank-Datei (PDB), wenn das Programmabbild mit einer der Compiler- oder Linkeroptionen erstellt wurde, mit denen eine PDB-Datei generiert wird, wie "/DEBUG", "/Z7" oder "/Zd".Oder /Zi.Die zweite PDB-Datei enthält keine Symbole, die nicht an Kunden weitergegeben werden.Weitere Informationen finden Sie unter /PDBSTRIPPED (Private Symbole entfernen).

Zuordnungsdatei generieren (/MAP)

Weist den Linker an, während der Verknüpfung eine Zuordnungsdatei zu generieren.Die Standardeinstellung ist Nein.Weitere Informationen finden Sie unter /MAP (Zuordnungsdatei generieren).

Zuordnungsdateiname(/MAP:Name)

Bei Auswahl von Zuordnungsdatei generieren können Sie in diesem Feld die Zuordnungsdatei angeben.Weitere Informationen finden Sie unter /MAP (Zuordnungsdatei generieren).

Zuordnungsexport (/MAPINFO:EXPORTS)

Fügt exportierte Funktionen in die Zuordnungsdatei ein.Die Standardeinstellung ist Nein.Weitere Informationen finden Sie unter /MAPINFO (Daten in Zuordnungsdatei einfügen).

Debugfähige Assembly ("/ASSEMBLYDEBUG")

Gibt die Einstellungen für die Linker /ASSEMBLYDEBUG-Option an.Folgende Werte sind möglich:

  • Das Attribut "Debuggable" wurde nicht ausgegeben.

  • Problemverfolgung zur Laufzeit und deaktivierte Optimierungen (/ASSEMBLYDEBUG).Dies ist die Standardeinstellung.

  • Keine Problemverfolgung zur Laufzeit und aktivierte Optimierungen (/ASSEMBLYDEBUG).

  • <Vom übergeordneten Projekt erben oder Projektstandard>.

  • Weitere Informationen finden Sie unter /ASSEMBLYDEBUG (DebuggableAttribute hinzufügen).

Sie können diese Einstellungen im Ordner Konfigurationseigenschaften (Kategorie Debuggen) programmgesteuert über die Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings-Schnittstelle ändern.Weitere Informationen finden Sie unter VCDebugSettings.

Siehe auch

Referenz

/ASSEMBLYDEBUG (DebuggableAttribute hinzufügen)

Weitere Ressourcen

Debuggen von systemeigenem Code

Einstellungen und Vorbereitung für das Debuggen

Erstellen und Verwalten von Visual C++-Projekten

Makros für Buildbefehle und -eigenschaften