Projekteinstellungen für eine C++-DebugkonfigurationProject settings for a C++ debug configuration

Sie können die projekteinstellungen für eine C- oder Visual C++-Debugkonfiguration im Ändern der Eigenschaftenseiten Dialogfeld wie in beschrieben Vorgehensweise: Festlegen von Debug- und Releasekonfigurationen.You can change the project settings for a C or Visual C++ debug configuration in the Property Pages dialog box, as discussed in How to: Set debug and release configurations. Anhand der folgenden Tabellen erfahren Sie, wo die debuggerspezifischen Einstellungen im Dialogfeld Eigenschaftenseiten zu finden sind.The following tables show where to find debugger-related settings in the Property Pages dialog box.

Note

Die debugprojekteinstellungen in der Konfigurationseigenschaften/Debugging Kategorie unterscheiden sich für UWP-apps und Komponenten, die geschrieben werden, in C++.The debug project settings in the Configuration Properties/Debugging category are different for UWP apps and for components that are written in C++. Finden Sie unter Starten einer Debugsitzung (VB, c#, C++ und XAML).See Start a debug session (VB, C#, C++ and XAML).

Jede Debugeigenschafteneinstellung wird automatisch geschrieben und in der Datei "pro Benutzer" gespeichert (. vcxproj.user) für Ihre Lösung, wenn Sie die Projektmappe speichern.Each debug property setting is automatically written and saved to the "per-user" file (.vcxproj.user) for your solution when you save your solution.

Geben Sie an der Debugger für die Verwendung in der zu startender Debugger Listenfeld, wie in der folgenden Tabelle beschrieben.Specify which debugger to use in the Debugger to launch list box, as described in the following table. Die Auswahl beeinflusst, welche Eigenschaften angezeigt werden.Your choice will affect which properties are visible.

Ordner "Konfigurationseigenschaften" (Kategorie "Debuggen")Configuration Properties folder (Debugging category)

EinstellungSetting BeschreibungDescription
Debugger to launch (Zu startender Debugger)Debugger to launch Gibt den auszuführenden Debugger mit den folgenden Auswahlmöglichkeiten an:Specifies the debugger to run, with the following choices:

- Lokaler Windows-Debugger- Local Windows Debugger
- Remote-Windows-Debugger- Remote Windows Debugger
- Webbrowserdebugger- Web Browser Debugger
- Webdienst-Debugger- Web Service Debugger
Befehl (Lokaler Windows-Debugger)Command (Local Windows Debugger) Gibt den Startbefehl für das auf dem lokalen Computer zu debuggende Programm an.Specifies the command for starting the program that you are debugging on the local computer.
Remotebefehl (Remote-Windows-Debugger)Remote Command (Remote Windows Debugger) Der Pfad für die EXE-Datei auf dem Remotecomputer.The path for the .exe on the remote computer. Geben Sie den Pfad wie auf dem Remotecomputer ein.Enter the path just as you would enter it on the remote machine.
Befehlsargumente (lokaler Windows-Debugger)Command Arguments (Local Windows Debugger)

Remotebefehlsargumente (Remote-Windows-Debugger)Remote Command Arguments (Remote Windows Debugger)
Gibt Argumente für den oben aufgeführten Befehl an.- Specifies arguments for the command specified earlier.

In diesem Feld können die folgenden Umleitungsoperatoren verwendet werden:You can use the following redirection operators in this box:

< file
Liest "stdin" aus der Datei.Reads stdin from file.

> file
Schreibt "stdout" in die Datei.Writes stdout to file.

>> file
Fügt "stdout" an die Datei an.Appends stdout to file.

2> file2> file
Schreibt "stderr" in die Datei.Writes stderr to file.

2>> file2>> file
Fügt "stderr" an die Datei an.Appends stderr to file.

2> &12> &1
Sendet "stderr (2)"-Ausgaben an denselben Speicherort wie "stdout (1)".Sends stderr (2) output to same location as stdout (1).

1> &21> &2
Sendet "stdout (1)"-Ausgaben an denselben Speicherort wie "stderr (2)".Sends stdout (1) output to same location as stderr (2).

In den meisten Fällen sind diese Operatoren nur auf Konsolenanwendungen anwendbar.In most cases, these operators are applicable only to console applications.
ArbeitsverzeichnisWorking Directory Gibt das Arbeitsverzeichnis des zu debuggenden Programms bezogen auf das Projektverzeichnis an, in dem sich die EXE-Datei befindet.Specifies the working directory of the program being debugged, relative to the project directory where your EXE is located. Wenn Sie kein Arbeitsverzeichnis festlegen, wird das Projektverzeichnis verwendet.If you leave this blank, the working directory is the project directory. Für das Remotedebuggen ist das Projektverzeichnis auf dem Remoteserver aus.For remote debugging, the project directory is on the remote server.
Anfügen (Lokaler Windows-Debugger und Remote-Windows-Debugger)Attach (Local Windows Debugger and Remote Windows Debugger) Gibt an, ob die Anwendung gestartet oder angefügt werden soll.Specifies whether to start or attach to the application. Die Standardeinstellung ist "Nein".Default setting is No.
Remoteservername (Remote-Windows-Debugger)Remote Server Name (Remote Windows Debugger) Gibt den Namen eines anderen Remotecomputers an, auf dem Sie eine Anwendung debuggen möchten.Specifies the name of a computer (other than yours) on which you want to debug an application.

Das RemoteMachine-Buildmakro wird auf den Wert dieser Eigenschaft festgelegt. Weitere Informationen hierzu finden Sie unter Makros für Buildbefehle und -eigenschaften.The RemoteMachine Build macro is set to the value of this property; for more information, see Macros for build commands and properties.
Verbindung (Remote-Windows-Debugger)Connection (Remote Windows Debugger) Ermöglicht es Ihnen, für das Remotedebugging zwischen den Verbindungstypen "Standard" und "Ohne Authentifizierung" zu wechseln.Allows you to switch between standard and no-authentication connection types for remote debugging. Geben Sie im Feld Remoteservername den Namen des Remotecomputers an.Specify a remote computer name in the Remote Server Name box. Folgende Verbindungstypen stehen zur Verfügung:Connection types include the following:

- Remote mit Windows-Authentifizierung- Remote with Windows Authentication
- Remote ohne Authentifizierung- Remote with No Authentication

Hinweis: Der Remotecomputer ist durch das Remotedebuggen ohne Authentifizierung möglicherweise anfällig für Sicherheitsverletzungen.Note Remote debugging with No Authentication may leave the remote computer vulnerable to security violations. Der Windows-Authentifizierungsmodus ist sicherer.Windows Authentication mode is more secure.

Weitere Informationen finden Sie unter Remote Debugging setup (Einrichten des Remotedebuggens).For more information, see Remote debugging setup.
HTTP-URL (Webdienst- und Webbrowserdebugger)HTTP URL (Web Service Debugger and Web Browser Debugger) Gibt die URL zu dem Projekt an, das Sie debuggen.Specifies the URL where the project you are debugging is located.
DebuggertypDebugger Type Gibt den Typ des zu verwendenden Debuggers an: Nur systemeigen, nur verwaltet, nur GPU, gemischt, automatisch (Standard), oder Skript.Specifies the type of debugger to be used: Native Only, Managed Only, GPU Only, Mixed, Auto (default), or Script.

- Die Einstellung Nur nativ eignet sich für nicht verwalteten C++-Code.- Native Only is for unmanaged C++ code.
- Die Einstellung Nur verwaltet ist für Code konzipiert, der in der Common Language Runtime ausgeführt wird (verwalteter Code).- Managed Only is for code that runs under the common language runtime (managed code).
- Mit Gemischt werden Debugger sowohl für verwalteten als auch für nicht verwalteten Code aufgerufen.- Mixed invokes debuggers for both managed and unmanaged code.
- Die Einstellung Automatisch legt den Debuggertyp anhand von Compilerdaten und EXE-Daten fest.- Auto determines the debugger type based on compiler and EXE information.
- Skript ruft einen Debugger für Skripts auf.- Script invokes a debugger for scripts.
- Die Einstellung Nur GPU ist für C++ AMP-Code vorgesehen, der auf einem GPU-Gerät oder im DirectX-Referenzraster ausgeführt wird.- GPU Only is for C++ AMP code that runs on a GPU device or on the DirectX reference rasterizer. Finden Sie unter Debuggen von GPU-Code.See Debugging GPU code.
Umgebung (lokaler Windows-Debugger und Remote Windows-Debugger)Environment (Local Windows Debugger and Remote Windows Debugger) Gibt die Umgebungsvariablen für das Programm an, das Sie debuggen.Specifies environment variables for the program that you are debugging. Verwenden Sie die standardmäßige Umgebungsvariablensyntax (z. B. PATH="%SystemRoot%\...").Use standard environment variable syntax (for example, PATH="%SystemRoot%\..."). Je nach Einstellung der Zusammenführungsumgebung überschreiben diese Variablen die Systemumgebung oder werden mit der Systemumgebung zusammengeführt.These variables override the system environment or are merged with the system environment, depending on the Merge Environment setting. Wenn Sie in der Spalte Einstellungen klicken Sie auf eine "Bearbeiten..." wird angezeigt.When you left-click in the settings column, an "Edit..." appears. Wählen Sie diesen Link, um Umgebungsvariablen zu bearbeiten.Select that link to edit environment variables.
Zusammenführungsumgebung (Lokaler Windows-Debugger)Merge Environment (Local Windows Debugger) Legt fest, ob die in dem Feld Umgebung angegebenen Variablen mit der vom verwendeten Betriebssystem definierten Umgebung zusammengeführt werden.Determines whether the variables that are specified in the Environment box will be merged with the environment that is defined by the operating system. Die Standardeinstellung ist "Ja".Default setting is Yes.
SQL-Debugging (alle außer MPI-Clusterdebugger)SQL Debugging (all but MPI Cluster Debugger) Ermöglicht das Debuggen von SQL-Prozeduren über die Visual C++Visual C++-Anwendung.Enables debugging of SQL procedures from your Visual C++Visual C++ application. Die Standardeinstellung ist "Nein".Default setting is No.
Debuggingbeschleunigungstyp (nur GPU-Debugging)Debugging Accelerator Type (GPU debugging only) Gibt das für das Debugging zu verwendende GPU-Gerät an.Specifies the GPU device to use for debugging. Durch die Installation von Gerätetreibern für kompatible GPU-Geräte werden zusätzliche Optionen hinzugefügt.Installing device drivers for compatible GPU devices will add additional options. Die Standardeinstellung lautet GPU – Softwareemulator.The default setting is GPU - Software Emulator.
GPU-Standardhaltepunktverhalten (nur GPU-Debugging)GPU Default Breakpoint Behavior (GPU debugging only) Gibt an, ob für jeden Thread in einer SIMD-Verzerrung ein Haltepunktereignis ausgelöst werden soll.Specifies whether a breakpoint event should be raised for each thread in a SIMD warp. Die Standardeinstellung gibt an, das Haltepunktereignis nur einmal pro Verzerrung auszulösen.The default setting is to raise the breakpoint event only once per warp.
AMP-StandardbeschleunigungAmp Default Accelerator Gibt den Standard-AMPAccelerator beim Debuggen von GPU-Code an.Specifies the default AMP accelerator when debugging GPU code. Wählen Sie WARP-Softwarebeschleunigung aus, um zu untersuchen, ob ein Problem von der Hardware oder einem Treibers verursacht wird und nicht vom Code.Choose WARP software accelerator to investigate if an issue is caused by the hardware or a driver instead of your code.
Bereitstellungsverzeichnis (Remote-Windows-Debugger)Deployment Directory (Remote Windows Debugger) Gibt den Pfad auf dem Remotecomputer an, in den die Projektausgabe vor dem Start kopiert wird.Specifies the path on the remote computer where the project output will be copied prior to launch. Der Pfad kann eine Netzwerkfreigabe auf dem Remotecomputer sein oder ein Pfad zu einem Ordner auf dem Remotecomputer.The path can be a network share on the remote computer, or it can be a path to a folder on the remote computer. Die Standardeinstellung ist leer, was bedeutet, dass die Projektausgabe nicht in eine Netzwerkfreigabe kopiert wird.The default setting is empty, which means the project output is not copied to a network share. Sie müssen im Dialogfeld „Konfigurations-Manager“ auch das Kontrollkästchen Bereitstellen aktivieren, um die Bereitstellung der Dateien zu ermöglichen.To enable deployment of the files, you must also select the Deploy check box in the Configuration Manager dialog box. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen und Bearbeiten von Konfigurationen.For more information, see How to: Create and edit configurations.
Zusätzliche bereitzustellende Dateien (Remote-Windows-Debugger)Additional Files to Deploy (Remote Windows Debugger) Wenn die Eigenschaft "Bereitstellungsverzeichnis" festgelegt ist, ist dies eine durch Semikolons getrennte Liste zusätzlicher Dateien in das Bereitstellungsverzeichnis kopiert.If the Deployment Directory property is set, this is a semicolon-delimited list of additional files to copy to the deployment directory. Die Standardeinstellung ist leer, was bedeutet, dass keine zusätzlichen Dateien in den Bereitstellungsordner kopiert werden.The default setting is empty, which means that no additional files are copied to the deployment directory. Sie müssen im Dialogfeld „Konfigurations-Manager“ auch das Kontrollkästchen Bereitstellen aktivieren, um die Bereitstellung der Dateien zu ermöglichen.To enable deployment of the files, you must also select the Deploy check box in the Configuration Manager dialog box. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen und Bearbeiten von Konfigurationen.For more information, see How to: Create and edit configurations.
Visual C++-Debug-Laufzeitbibliotheken bereitstellen (Remote-Windows-Debugger)Deploy Visual C++ Debug Runtime Libraries (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.If the Deployment Directory property is set, this specifies whether the Visual C++ debug runtime libraries for the current platform should be copied to the network share. Die Standardeinstellung ist "Ja".The default setting is Yes.

Ordner "C/C++" (Kategorie "Allgemein")C/C++ folder (General category)

EinstellungSetting BeschreibungDescription
Debuginformationsformat (/Z7, /Zd, Zi, /ZI)Debug Information Format (/Z7, /Zd, Zi, /ZI) Gibt den Typ der Debuginformationen an, die für das Projekt erstellt werden sollen.Specifies the type of debug information to be created for the project.

Mit der Standardoption (/ZI) wird eine Programmdatenbank (.pdb) in einem Format erstellt, das mit "Bearbeiten und Fortfahren" kompatibel ist.The default option (/ZI) creates a program database (PDB) in Edit and Continue compatible format. Weitere Informationen hierzu finden Sie unter /Z7, /Zd, /Zi, /ZI (Debug information format) (/Z7, /Zd, /Zi, /ZI (Debuginformationsformat)).For more information, see /Z7, /Zd, /Zi, /ZI (Debug information format).

Ordner "C/C++" (Kategorie "Optimierung")C/C++ folder (Optimization category)

EinstellungSetting BeschreibungDescription
OptimizationOptimization Gibt an, ob der Compiler den erstellten Code optimieren soll.Specifies whether the compiler should optimize the code it produces. Durch die Optimierung wird der auszuführende Code geändert.Optimization changes the code that is executed. Optimierter Code entspricht nicht mehr den Quellcode, der Debuggen erschwert.Optimized code no longer matches the source code, which makes debugging more difficult.

Die Standardoption (Deaktiviert (/0d)) dient zum Unterdrücken der Optimierung.The default option (Disabled (/0d)) suppresses optimization. Sie können mit unterdrückter Optimierung entwickeln und sie anschließend bei der Erstellung der Code-Produktionsversion aktivieren.You can develop with optimization suppressed, and then turn it on when you create the production version of your code.

Ordner "Linker" (Kategorie "Debuggen")Linker folder (Debugging category)

EinstellungSetting BeschreibungDescription
Debuginfo generieren (/DEBUG)Generate Debug Info (/DEBUG) Weist den Linker an, Debuginformationen in dem durch /Z7, /Zd, Zi oder /ZI festgelegten Format einzulesen.Tells the linker to include debug information, which will have the format specified by /Z7, /Zd, Zi, or /ZI.
Programmdatenbankdatei erstellen (/PDB:Name)Generate Program Database File (/PDB:name) Geben Sie den Namen der Programmdatenbankdatei (PDB) in diesem Feld ein.Specify the name of a program database (PDB) file in this box. Sie müssen ZI oder /Zi als Debuginformationsformat auswählen.You must select ZI or /Zi for Debug Information Format.
Private Symbole entfernen (/PDBSTRIPPED:Dateiname)Strip Private Symbols (/PDBSTRIPPED:filename) Wenn die PDB-Datei keine privaten Symbole enthalten soll, geben Sie in diesem Feld den Namen einer PDB-Datei ein.Specify the name of a PDB file in this box if you do not want to include private symbols in the PDB file. Diese Option wird eine zweite PDB-Datei erstellt, wenn das Programmabbild mit einer der Compiler- oder Linkeroptionen erstellt wurde, die eine PDB-Datei, z. B. "/ Debug", "/ Z7", "/ Zd" zu generieren.This option creates a second PDB file when you build your program image with any of the compiler or linker options that generate a PDB file, such as /DEBUG, /Z7, /Zd. Oder "/Zi".Or /Zi. Die zweite PDB-Datei enthält keine Symbole, die nicht an Kunden weitergegeben werden.This second PDB file omits symbols that you would not want to ship to your customers. Weitere Informationen finden Sie unter /PDBSTRIPPED (Private Symbole entfernen).For more information, see /PDBSTRIPPED (Strip private symbols).
Zuordnungsdatei generieren (/MAP)Generate Map File (/MAP) Weist den Linker an, während der Verknüpfung eine Zuordnungsdatei zu generieren.Tells the linker to generate a map file during linking. Die Standardeinstellung ist "Nein".Default setting is No. Weitere Informationen hierzu finden Sie unter /MAP (Zuordnungsdatei generieren).For more information, see /MAP (Generate Mapfile).
Name der Zuordnungsdatei (/MAP:Namen)Map File Name (/MAP:name) Bei Auswahl von "Zuordnungsdatei generieren" können Sie in diesem Feld die Zuordnungsdatei angeben.If you choose Generate Map File, you can specify the map file in this box. Weitere Informationen hierzu finden Sie unter /MAP (Zuordnungsdatei generieren).For more information, see /MAP (Generate Mapfile).
Zuordnungsexporte (/MAPINFO:EXPORTS)Map Exports (/MAPINFO:EXPORTS) Fügt exportierte Funktionen in die Zuordnungsdatei ein.Includes exported functions in the map file. Die Standardeinstellung ist "Nein".Default setting is No. Weitere Informationen finden Sie unter /MapInfo (Daten in Zuordnungsdatei einfügen).For more information, see /MAPINFO (Include Information in Mapfile).
Debugfähige Assembly (/ASSEMBLYDEBUG)Debuggable Assembly (/ASSEMBLYDEBUG) Gibt die Einstellungen für die /ASSEMBLYDEBUG-Option des Linkers an.Specifies settings for the Linker /ASSEMBLYDEBUG option. Dabei sind folgende Werte möglich:Possible values are:

- Das Attribut „Debuggable“ wurde nicht ausgegeben.- No debuggable attribute emitted.
- Problemnachverfolgung zur Laufzeit und deaktivierte Optimierungen (/ASSEMBLYDEBUG).- Runtime tracking and disable optimizations (/ASSEMBLYDEBUG). Dies ist die Standardeinstellung.This is the default setting,
- Keine Problemnachverfolgung zur Laufzeit und aktivierte Optimierungen (/ASSEMBLYDEBUG).- No runtime tracking and enable optimizations(/ASSEMBLYDEBUG:DISABLE).
- <Vom übergeordneten Projekt erben oder Projektstandard>- <inherit from parent or project defaults>.
Weitere Informationen finden Sie unter /ASSEMBLYDEBUG (Add DebuggableAttribute) (/ASSEMBLYDEBUG (DebuggableAttribute hinzufügen)).- For more information, see /ASSEMBLYDEBUG (Add DebuggableAttribute).

Sie können diese Einstellungen im Ordner "Konfigurationseigenschaften" (Kategorie "Debuggen") programmgesteuert über die Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings-Schnittstelle ändern.You can change these settings in the Configuration Properties folder (Debug category) programmatically by using the Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings interface. Weitere Informationen finden Sie unter VCDebugSettings.For more information, see VCDebugSettings.

Andere projekteinstellungenOther project settings

Um Projekttypen, z. B. statische Bibliotheken und DLLs zu debuggen, muss Visual Studio-Projekt die richtigen Dateien gefunden werden.To debug project types such as static libraries and DLLs, your Visual Studio project must be able to find the correct files. Wenn Quellcode verfügbar ist, können Sie statische Bibliotheken und DLLs der gleichen Projektmappe, um das Debugging zu erleichtern als separate Projekte hinzufügen.When source code is available, you can add static libraries and DLLs as separate projects to the same solution, to make debugging easier. Informationen zum Erstellen dieser Projekttypen, finden Sie unter erstellen und Verwenden einer Dynamic Link Library (DLL) und Erstellen einer mit einer statischen Bibliothek.For information on creating these project types, see Creating and using a Dynamic Link Library (DLL) and Creating a using a static library. Der Quellcode ist verfügbar, können Sie auch ein neues Visual Studio-Projekt erstellen, durch Auswahl Datei > neu > Projekt aus vorhandenem Code.With source code available, you can also create a new Visual Studio project by choosing File > New > Project From Existing Code.

Zum Debuggen von DLLs, die außerhalb des Projekts sind, finden Sie unter Debuggen von DLL-Projekten.To debug DLLs that are external to your project, see Debugging DLL projects. Wenn Sie müssen zum Debuggen Ihres eigenen DLL-Projekts, jedoch nicht haben Zugriff auf das Projekt für die aufrufende Anwendung finden Sie unter aus einem DLL-Projekt Debuggen.If you need to debug your own DLL project, but don't have access to the project for the calling application, see How to debug from a DLL project.

Siehe auchSee also