Project-Einstellungen für eine C++-Debugkonfiguration
Sie können die Projekteinstellungen für eine C- oder C++-Debugkonfiguration im Dialogfeld Eigenschaftenseiten ändern, wie in Anleitung: Debug- und Releasekonfigurationen festlegenbeschrieben. In den folgenden Tabellen wird gezeigt, wo Sie debuggerbezogene Einstellungen im Dialogfeld Eigenschaftenseiten suchen.
Anmerkung
Die Debugprojekteinstellungen in der Kategorie Konfigurationseigenschaften/Debugging- unterscheiden sich für UWP-Apps und für Komponenten, die in C++ geschrieben wurden. Siehe Starten einer Debugsitzung (VB, C#, C++ und XAML).
Jede Debugeigenschafteneinstellung wird automatisch in die benutzerspezifische Datei (.vcxproj.user) der Projektmappe geschrieben und dort gespeichert, wenn Sie die Projektmappe speichern.
Geben Sie an, welcher Debugger im Debugger verwendet werden soll, um Listenfeld zu starten, wie in der folgenden Tabelle beschrieben. Ihre Auswahl wirkt sich auf die sichtbaren Eigenschaften aus.
Ordner "Konfigurationseigenschaften" (Debugkategorie)
Einstellung | Beschreibung |
---|---|
Debugger to launch (Zu startender Debugger) | Gibt den auszuführenden Debugger mit den folgenden Optionen an: - Lokalen Windows-Debugger - Windows-Remotedebugger - Webbrowserdebugger - Webdienstdebugger |
Befehl (lokaler Windows-Debugger) | Gibt den Befehl zum Starten des Programms an, das Sie auf dem lokalen Computer debuggen. |
Remotebefehl (Windows-Remotedebugger) | Der Pfad für die EXE-Datei auf dem Remotecomputer. Geben Sie den Pfad genau so ein, wie Sie ihn auf dem Remotecomputer eingeben würden. |
Befehlsargumente (lokaler Windows-Debugger) Remotebefehlsargumente (Windows-Remotedebugger) |
- Gibt Argumente für das Programm an, das Sie debuggen. Weitere Informationen zum Festlegen von Befehlszeilenargumenten finden Sie unter Senden von Befehlszeilenargumenten an einen Debugee (C++). Sie können die folgenden Umleitungsoperatoren in diesem Feld verwenden: < file Liest stdin aus 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 Gibt die stdout (1) Ausgabe an den gleichen Ort wie stderr (2) aus. In den meisten Fällen gelten diese Operatoren nur für Konsolenanwendungen. Wenn Sie Escapezeichen im Befehl verwenden müssen, können Sie ASCII-Werte verwenden, z. B. %25, um % zu ersetzen. Wenn Sie den Befehl Debuggen starten verwenden, werden doppelte Anführungszeichen als Escape-Zeichen für die vorhergehenden Befehle verwendet, wie <, um < zu ersetzen. |
Arbeitsverzeichnis | Gibt das Arbeitsverzeichnis des zu debuggenden Programms relativ zum Projektverzeichnis an, in dem sich Ihre EXE befindet. Wenn Sie diesen Wert leer lassen, ist das Arbeitsverzeichnis das Projektverzeichnis. Für das Remotedebugging 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 Computers (außer Ihrem) an, auf dem Sie eine Anwendung debuggen möchten. Das RemoteMachine Build-Makro wird auf den Wert dieser Eigenschaft festgelegt; weitere Informationen finden Sie unter Makros für Buildbefehle und Eigenschaften. |
Verbindung (Remote-Windows-Debugger) | Ermöglicht es Ihnen, zwischen Standard- und No-Authentication-Verbindungstypen für das Remotedebugging zu wechseln. Geben Sie im Feld Remoteservernamen einen Remotecomputernamen an. Verbindungstypen umfassen Folgendes: - Remote mit Windows-Authentifizierung - Remote-Zugriff ohne Authentifizierung Hinweis Remotedebugging ohne Authentifizierung kann den Remotecomputer möglicherweise anfällig für Sicherheitsverletzungen machen. Der Windows-Authentifizierungsmodus ist sicherer. Weitere Informationen finden Sie unter Remote-Debugging-Setup. |
HTTP-URL (Webdienst-Debugger und Webbrowser-Debugger) | Gibt die URL an, unter der sich das Projekt befindet, das Sie debuggen. |
Debuggertyp | Gibt den Typ des zu verwendenden Debuggers an: Nur nativ, Nur verwaltet, Nur GPU, Gemischt, Auto (Standard) oder Skript. - Native Only gilt 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). - Gemischte aufruft Debugger für verwalteten und nicht verwalteten Code. - Auto- bestimmt den Debuggertyp basierend auf Compiler- und EXE-Informationen. - Script ruft einen Debugger für Skripts auf. - GPU- gilt nur für C++-AMP-Code, der auf einem GPU-Gerät oder auf dem DirectX-Referenzrasterizer ausgeführt wird. Siehe Debuggen von GPU-Code. |
Umgebung (Lokaler Windows-Debugger und Remote-Windows-Debugger) | Gibt Umgebungsvariablen für das Programm an, das Sie debuggen. Verwenden Sie die Standardumgebungsvariablensyntax (z. B. PATH="%SystemRoot%\..." ). Diese Variablen überschreiben die Systemumgebung oder werden abhängig von der Einstellung Zusammenführungsumgebung mit der Systemumgebung zusammengeführt. Wenn Sie in der rechten Spalte klicken, wird ein "Bearbeiten..." angezeigt. Wählen Sie diesen Link aus, um den Eigenschaften-Editor zu öffnen und Umgebungsvariablen zu bearbeiten. Um mehrere Umgebungsvariablen hinzuzufügen, verwenden Sie den Eigenschaften-Editor und fügen Sie eine Variable pro Zeile hinzu. |
Zusammenführungsumgebung (Lokaler Windows-Debugger) | Bestimmt, ob die im Feld Umgebung angegebenen Variablen mit der Vom Betriebssystem definierten Umgebung zusammengeführt werden. Die Standardeinstellung ist "Ja". |
SQL-Debugging (alle außer MPI-Clusterdebugger) | Ermöglicht das Debuggen von SQL-Prozeduren aus Ihrer Visual C++-Anwendung. Die Standardeinstellung ist "Nein". |
Debugging-Beschleunigertyp (nur für GPU-Debugging) | Gibt das GPU-Gerät an, das für das Debuggen verwendet werden soll. Durch die Installation von Gerätetreibern für kompatible GPU-Geräte werden zusätzliche Optionen hinzugefügt. Die Standardeinstellung ist GPU - Software Emulator. |
GPU-Standard-Haltepunktverhalten (nur GPU-Debugging) | Gibt an, ob für jeden Thread in einem SIMD-Warp ein Breakpoint-Ereignis ausgelöst werden soll. Die Standardeinstellung besteht darin, das Haltepunktereignis nur einmal pro Warp auszulösen. |
AMP-Standardbeschleunigung | Gibt den AMP-Standardbeschleuniger beim Debuggen von GPU-Code an. Wählen Sie den WARP-Softwarebeschleuniger, um zu untersuchen, ob ein Problem durch die Hardware oder einen Treiber, anstelle Ihres Codes, verursacht wird. |
Bereitstellungsverzeichnis (Remote Windows Debugger) | Gibt den Pfad auf dem Remotecomputer an, auf dem 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 aktivieren, müssen Sie auch das Kontrollkästchen Bereitstellen im Dialogfeld Configuration Manager aktivieren. Weitere Informationen finden Sie unter So erstellen und bearbeiten Sie Konfigurationen. |
Zusätzliche Dateien zum Bereitstellen von (Remote-Windows-Debugger) | Wenn die Deployment Directory-Eigenschaft festgelegt ist, handelt es sich um eine durch Semikolons getrennte Liste mit zusätzlichen Ordnern oder Dateien, die in das Bereitstellungsverzeichnis kopiert werden sollen. Die Standardeinstellung ist leer, was bedeutet, dass keine zusätzlichen Ordner oder Dateien in das Bereitstellungsverzeichnis kopiert werden. Wenn Sie den Inhalt eines Ordners in denselben Ordner im Bereitstellungsverzeichnis kopieren möchten, geben Sie einen Ordnernamen an. Um die Bereitstellung der Dateien zu aktivieren, müssen Sie auch das Kontrollkästchen Bereitstellen im Dialogfeld Configuration Manager aktivieren. Weitere Informationen finden Sie unter Anleitung: Erstellen und Bearbeiten von Konfigurationen. |
Bereitstellen von Visual C++-Debug-Runtime-Bibliotheken (Remote Windows Debugger) | Wenn die Deployment Directory-Eigenschaft festgelegt ist, gibt dies an, ob die Visual C++-Debuglaufzeitbibliotheken für die aktuelle Plattform in die Netzwerkfreigabe kopiert werden sollen. Die Standardeinstellung lautet "Ja". |
C/C++-Ordner (Allgemeine Kategorie)
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 (Debug information format) (/Z7, /Zd, /Zi, /ZI (Debuginformationsformat)). |
C/C++-Ordner (Optimierungskategorie)
Einstellung | Beschreibung |
---|---|
Optimization | Gibt an, ob der Compiler den erzeugten Code optimieren soll. Die Optimierung ändert den code, der ausgeführt wird. Optimierter Code stimmt nicht mehr mit dem Quellcode überein, wodurch das Debuggen erschwert wird. Die Standardoption (Deaktiviert (/0d)) unterdrückt die Optimierung. Sie können mit deaktivierter Optimierung entwickeln und diese dann aktivieren, wenn Sie die Produktionsversion Ihres Codes erstellen. |
Linker-Ordner (Debugging-Kategorie)
Einstellung | Beschreibung |
---|---|
Debuginfo generieren (/DEBUG) | Weist den Linker an, Debuginformationen in dem durch /Z7, /Zd, Zi oder /ZI festgelegten Format einzulesen. |
Programmdatenbankdatei generieren (/PDB:name) | Geben Sie den Namen einer Programmdatenbankdatei (PDB) in diesem Feld an. Sie müssen ZI oder /Zi für das Debuginformationsformat auswählen. |
Private Symbole entfernen (/PDBSTRIPPED:Dateiname) | Geben Sie den Namen einer PDB-Datei in diesem Feld an, wenn Sie keine privaten Symbole in die PDB-Datei aufnehmen möchten. Diese Option erstellt eine zweite PDB-Datei, wenn Sie ihr Programmimage mit einer der Compiler- oder Linkeroptionen erstellen, die eine PDB-Datei generieren, z. B. /DEBUG, /Z7, /Zd. Oder "/Zi". In dieser zweiten PDB-Datei werden Symbole weggelassen, die Sie nicht an Ihre Kunden senden möchten. 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 (Generate Mapfile). |
Zuordnungsdateiname (/MAP:Name) | Wenn Sie "Zuordnungsdatei generieren" auswählen, können Sie die Zuordnungsdatei in diesem Feld angeben. Weitere Informationen finden Sie unter /MAP (Generate Mapfile). |
Zuordnungsexporte (/MAPINFO:EXPORTS) | Fügt exportierte Funktionen in die Zuordnungsdatei ein. Die Standardeinstellung ist "Nein". Weitere Informationen finden Sie unter /MAPINFO (Informationen in Map-Datei einfügen). |
Debugfähige Assembly (/ASSEMBLYDEBUG) | Gibt die Einstellungen für die /ASSEMBLYDEBUG-Option des Linkers an. Mögliche Werte sind: - Kein debuggierbares Attributausgegeben. - Nachverfolgung zur Laufzeit und Optimierungen deaktivieren (/ASSEMBLYDEBUG). Dies ist die Standardeinstellung, - Keine Nachverfolgung zur Laufzeit und Optimierungen aktivieren (/ASSEMBLYDEBUG:DISABLE). - <Vom übergeordneten Projekt erben oder Projektstandard>. Weitere Informationen finden Sie unter /ASSEMBLYDEBUG (DebuggableAttribute hinzufügen). |
Sie können diese Einstellungen im Ordner "Konfigurationseigenschaften" (Debugkategorie) programmgesteuert ändern, indem Sie die Schnittstelle "Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings" verwenden. Weitere Informationen finden Sie unter VCDebugSettings.
Andere Projekteinstellungen
Zum Debuggen von Projekttypen wie statischen Bibliotheken und DLLs muss Ihr Visual Studio-Projekt in der Lage sein, die richtigen Dateien zu finden. Wenn Quellcode verfügbar ist, können Sie statische Bibliotheken und DLLs als separate Projekte zur gleichen Lösung hinzufügen, um das Debuggen zu vereinfachen. Informationen zum Erstellen dieser Projekttypen finden Sie unter Erstellen und Verwenden einer DLL- und Erstellen einer mithilfe einer statischen Bibliothek. Mit verfügbarem Quellcode können Sie auch ein neues Visual Studio-Projekt erstellen, indem Sie Datei>Neues>Projekt aus vorhandenem Codeauswählen.
Informationen zum Debuggen von DLLs, die sich außerhalb ihres Projekts befinden, finden Sie unter Debuggen von DLL-Projekten. Wenn Sie Ihr eigenes DLL-Projekt debuggen müssen, aber keinen Zugriff auf das Projekt für die aufrufende Anwendung haben, lesen Sie So debuggen Sie aus einem DLL-Projekt.