DebuggableAttribute.DebuggingModes Enumeration

Definition

Gibt den Debugmodus für den Just-In-Time (JIT)-Compiler an.Specifies the debugging mode for the just-in-time (JIT) compiler.

Diese Enumeration weist ein FlagsAttribute-Attribut auf, die eine bitweise Kombination der Memberwerte zulässt.

public: enum class DebuggableAttribute::DebuggingModes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum DebuggableAttribute.DebuggingModes
type DebuggableAttribute.DebuggingModes = 
Public Enum DebuggableAttribute.DebuggingModes
Vererbung
DebuggableAttribute.DebuggingModes
Attribute

Felder

Default 1

Weist den Just-In-Time (JIT)-Compiler an, sein Standardverhalten zu verwenden. Dieses umfasst das Aktivieren von Optimierungen, das Deaktivieren des Bearbeiten- und Fortfahren-Supports und das Verwenden von Symbolspeichersequenzpunkten (sofern vorhanden).Instructs the just-in-time (JIT) compiler to use its default behavior, which includes enabling optimizations, disabling Edit and Continue support, and using symbol store sequence points if present. In .NET Framework Version 2.0 werden JIT-Tracking-Informationen (der MSIL-Offset (Microsoft Intermediate Language) zum Offset des systemeigenen Codes in einer Methode) immer generiert.Starting with the .NET Framework version 2.0, JIT tracking information, the Microsoft intermediate language (MSIL) offset to the native-code offset within a method, is always generated.

DisableOptimizations 256

Deaktivieren Sie die vom Compiler durchgeführten Optimierungen, damit Ihre Ausgabedatei kleiner, schneller und effizienter wird.Disable optimizations performed by the compiler to make your output file smaller, faster, and more efficient. Optimierungen führen zu Neuanordnungen von Code in der Ausgabedatei, wodurch das Debuggen erschwert werden kann.Optimizations result in code rearrangement in the output file, which can make debugging difficult. In der Regel sollte die Optimierung beim Debuggen deaktiviert werden.Typically optimization should be disabled while debugging. Kombinieren Sie diesen Wert in den Versionen ab 2.0 mit Default (Default | DisableOptimizations), um JIT-Tracking zu aktivieren und Optimierungen zu deaktivieren.In versions 2.0 or later, combine this value with Default (Default | DisableOptimizations) to enable JIT tracking and disable optimizations.

EnableEditAndContinue 4

Aktivieren Sie Bearbeiten und Fortfahren.Enable edit and continue. Mit Bearbeiten und Fortfahren können Sie Änderungen am Quellcode vornehmen, während sich das Programm im Unterbrechungsmodus befindet.Edit and continue enables you to make changes to your source code while your program is in break mode. Die Möglichkeit des Bearbeitens und Fortfahrens ist vom Compiler abhängig.The ability to edit and continue is compiler dependent.

IgnoreSymbolStoreSequencePoints 2

Verwenden Sie die impliziten MSIL-Sequenzpunkte und nicht die Programmdatenbank-Sequenzpunkte (PDB).Use the implicit MSIL sequence points, not the program database (PDB) sequence points. Die Symbolinformationen enthalten i. d. R. mindestens einen MSIL-Offset (Microsoft Intermediate Language) für jede Quellzeile.The symbolic information normally includes at least one Microsoft intermediate language (MSIL) offset for each source line. Bevor der JIT-Compiler (Just-In-Time) eine Methode kompiliert, fordert er von den Profilerstellungsdiensten eine Liste der zu speichernden MSIL-Offsets an.When the just-in-time (JIT) compiler is about to compile a method, it asks the profiling services for a list of MSIL offsets that should be preserved. Diese MSIL-Offsets werden Sequenzpunkte genannt.These MSIL offsets are called sequence points.

None 0

Ab .NET Framework Version 2.0 werden stets JIT-Tracking-Informationen generiert. Dieses Flag hat denselben Effekt wie Default, jedoch mit der Ausnahme, dass die IsJITTrackingEnabled-Eigenschaft auf false gesetzt wird.Starting with the .NET Framework version 2.0, JIT tracking information is always generated, and this flag has the same effect as Default, except that it sets the IsJITTrackingEnabled property to false. Da die JIT-Verfolgung jedoch immer aktiviert ist, wird der Eigenschaftswert in Version 2.0 oder höher ignoriert.However, because JIT tracking is always enabled, the property value is ignored in version 2.0 or later.

Beachten Sie, dass das DisableOptimizations-Flag im Gegensatz zum None-Flag nicht zum Deaktivieren von JIT-Optimierungen verwendet werden kann.Note that, unlike the DisableOptimizations flag, the None flag cannot be used to disable JIT optimizations.

Hinweise

Die DebuggableAttribute.DebuggingModes-Enumeration gibt an, wie die Laufzeit während der Codegenerierung Informationen nachverfolgen soll, die für den Debugger wichtig sind.The DebuggableAttribute.DebuggingModes enumeration specifies how the runtime is to track information important to the debugger during code generation. Diese Informationen helfen dem Debugger dabei, eine umfassende Debuggingfunktion bereitzustellen.This information helps the debugger provide a rich debugging experience. Im Gegensatz zum .NET Framework Version 1,1 können Sie mit den Versionen 2,0 oder höher die Nachverfolgung nicht durch den Just-in-Time-Compiler (JIT) deaktivieren.Unlike the .NET Framework version 1.1, versions 2.0 or later do not allow you to turn off tracking by the just-in-time (JIT) compiler. Die JIT-Nachverfolgung ist für debugfähige Dateien immer aktiviert.JIT tracking is always enabled for debuggable files. In Version 2,0 und höher haben die Enumerationswerte die folgenden Auswirkungen.In version 2.0 and later, the enumeration values have the following effect.

DebugmodusDebugging mode ErgebnisResult
KeineNone Nachverfolgung bei aktivierten JIT-OptimierungenTracking on, JIT optimizations enabled
StandardDefault Nachverfolgung bei aktivierten JIT-OptimierungenTracking on, JIT optimizations enabled
DisableoptimierungenDisableOptimizations Nachverfolgung bei aktivierten JIT-OptimierungenTracking on, JIT optimizations enabled
Standard | mäßige deaktivier OptimierungenDefault | DisableOptimizations Nachverfolgung, JIT-Optimierungen deaktiviertTracking on, JIT optimizations disabled

Sequenz Punkte werden verwendet, um Positionen im MSIL-Code (Microsoft Intermediate Language) anzugeben, auf die ein Debugger-Benutzer in der Lage ist, auf eindeutig zu verweisen, z. b. zum Festlegen eines Breakpoints.Sequence points are used to indicate locations in the Microsoft intermediate language (MSIL) code that a debugger user expects to be able to refer to uniquely, such as for setting a breakpoint. Der JIT-Compiler stellt sicher, dass die MSIL nicht an zwei verschiedenen Sequenz Punkten in eine einzelne systemeigene Anweisung kompiliert wird.The JIT compiler ensures it does not compile the MSIL at two different sequence points into a single native instruction. Standardmäßig überprüft der JIT-Compiler den Symbol Speicher in der Programm Datenbankdatei (PDB-Datei) auf eine Liste zusätzlicher Sequenz Punkte.By default, the JIT compiler examines the symbol store in the program database (PDB) file for a list of additional sequence points. Das Laden der PDB-Datei erfordert jedoch, dass die Datei verfügbar ist und sich negativ auf die Leistung auswirkt.However, loading the PDB file requires that the file be available and has a negative performance impact. Ab Version 2,0 können Compiler "implizite Sequenz Punkte" im MSIL-Codestream durch die Verwendung von MSIL-Anweisungen vom Typ "nop"" ausgeben.Starting with version 2.0, compilers can emit "implicit sequence points" in the MSIL code stream through the use of MSIL "nop" instructions. Diese Compiler sollten das IgnoreSymbolStoreSequencePoints-Flag festlegen, um den Common Language Runtime zu benachrichtigen, dass die PDB-Datei nicht geladen werden soll.Such compilers should set the IgnoreSymbolStoreSequencePoints flag to notify the common language runtime to not load the PDB file.

Hinweis

Diese Enumeration wird hauptsächlich von sprach Entwicklern verwendet.This enumeration is primarily used by language developers. Sie wird in der Regel nicht bei der Anwendungsentwicklung verwendet.It is generally not used in application development. Entwicklungsumgebungen verwenden DebuggableAttribute.DebuggingModes basierend auf compilerparametern wie /Debug und /optimize.Development environments use DebuggableAttribute.DebuggingModes based on compiler parameters such as /debug and /optimize.

Gilt für: