Projekteinstellungen für eine C++-Debugkonfiguration

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

Warnung

Die Debugprojekteinstellungen in der Kategorie Konfigurationseigenschaften/Debugging für die in C++ geschriebenen Windows Store-Apps und Komponenten sind unterschiedlich.Weitere Informationen hierzu erhalten Sie im Windows Developer Center unter Starten einer Debugsitzung für eine Store-App in Visual Studio (VB, C#, C++ und XAML).

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

Beschreibung

Zu startender Debugger

Gibt den auszuführenden Debugger mit den folgenden Auswahlmöglichkeiten an:

  • Lokaler Windows-Debugger

  • Remote-Windows-Debugger

  • Webbrowserdebugger

  • Webdienst-Debugger

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 wie auf dem Remotecomputer ein.

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 der Datei.

> file

Schreibt "stdout" in die Datei.

>> file

Fügt "stdout" an die Datei an.

2> file

Schreibt "stderr" in die Datei.

2>> file

Fügt "stderr" an die 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 bezogen auf das Projektverzeichnis an, in dem sich die EXE-Datei befindet. 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 anderen Remotecomputers an, auf dem Sie eine Anwendung debuggen möchten.

Das RemoteMachine-Buildmakro wird auf den Wert dieser Eigenschaft festgelegt. 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" zu wechseln. 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   Der Remotecomputer ist durch das Remotedebuggen ohne Authentifizierung u. U. anfällig für Sicherheitsverletzungen. Der Windows-Authentifizierungsmodus ist sicherer.

Weitere Informationen finden Sie unter Remote Debugging – Setup.

HTTP-URL (Webdienst- und Webbrowserdebugger)

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

Debuggertyp

Gibt den Typ des zu verwendenden Debuggers an: Nur systemeigen, Nur verwaltet, Nur GPU, Gemischt, Automatisch (Standard) oder Skript.

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

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

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

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

  • Skript ruft einen Debugger für Skripts auf.

  • Die Einstellung Nur GPU ist für C++ AMP-Code vorgesehen, der auf einem GPU-Gerät oder im DirectX-Referenzrasterprogramm ausgeführt wird. Siehe Debuggen von GPU-Code.

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 Systemumgebungsvariablen oder werden mit den Systemumgebungsvariablen zusammengeführt, je nach Einstellung der Zusammenführungsumgebung. Wenn Sie auf die Spalte "Einstellungen" klicken, wird "Bearbeiten..." angezeigt. Klicken Sie auf diesen Link, um die Umgebungsvariablen zu bearbeiten.

Zusammenführungsumgebung (Lokaler Windows-Debugger)

Legt fest, ob die in dem Feld Umgebung angegebenen Variablen mit der vom verwendeten Betriebssystem definierten Umgebung zusammengeführt werden. Die Standardeinstellung ist "Ja".

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

Ermöglicht das Debuggen von SQL-Prozeduren über die Visual C++-Anwendung. Die Standardeinstellung ist "Nein".

Debuggingbeschleunigungstyp (nur GPU-Debugging)

Gibt das für das Debugging zu verwendende GPU-Gerät an. Durch die Installation von Gerätetreibern für kompatible GPU-Geräte werden zusätzliche Optionen hinzugefügt. Die Standardeinstellung lautet "GPU – Softwareemulator".

GPU-Standardhaltepunktverhalten (nur GPU-Debugging)

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

Amp-Standard-Accelerator (nur GPU-Debuggen)

Gibt den Standard-AMPAccelerator beim Debuggen von GPU-Code an. Wählen Sie WARP-Softwarebeschleunigung aus, um zu untersuchen, ob ein Problem von der Hardware oder einem Treibers verursacht wird und nicht vom Code.

Bereitstellungsverzeichnis (Remote-Windows-Debugger)

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

Zusätzliche bereitzustellende Dateien (Remote-Windows-Debugger)

Wenn die Eigenschaft "Bereitstellungsverzeichnis" festgelegt wird, handelt es sich hierbei um eine durch Semikolons getrennte Liste zusätzlicher Dateien, die in das Bereitstellungsverzeichnis kopieren werden sollen. Die Standardeinstellung ist leer, was bedeutet, dass keine zusätzlichen Dateien in den Bereitstellungsordner kopiert werden. Um die Bereitstellung der Dateien zu ermöglichen, müssen Sie im Dialogfeld "Konfigurations-Manager" auch das Kontrollkästchen Bereitstellen aktivieren. Weitere Informationen finden Sie unter Gewusst wie: Erstellen und Bearbeiten von Konfigurationen.

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

Wenn die Eigenschaft "Bereitstellungsverzeichnis" festgelegt wird, wird hierdurch angegeben, ob die Visual C++ Debugging-Laufzeitbibliotheken für die aktuelle Plattform in die Netzwerkfreigabe kopiert werden sollen. Die Standardeinstellung ist "Ja".

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

Einstellung

Beschreibung

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

Gibt den Typ der Debuginformationen an, die für das Projekt erstellt werden sollen.

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).

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

Einstellung

Beschreibung

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. Dadurch wird das Debuggen erschwert.

Die Standardoption (Deaktiviert (/0d)) dient zum Unterdrücken der Optimierung. Sie können mit unterdrückter Optimierung entwickeln und sie anschließend bei der Erstellung der Code-Produktionsversion aktivieren.

Ordner "Linker" (Kategorie "Debuggen")

Einstellung

Beschreibung

Debuginfo generieren (/DEBUG)

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

Programmdatenbankdatei 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. Mit dieser Option wird eine zweite Programmdatenbank-Datei (PDB) generiert, 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).

Zuordnungsexporte (/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 /ASSEMBLYDEBUG-Option des Linkers an. Folgende Werte sind möglich:

  • Das Attribut "Debuggable" wurde nicht ausgegeben.

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

  • Keine Problemnachverfolgung 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