DebuggableAttribute.DebuggingModes DebuggableAttribute.DebuggingModes DebuggableAttribute.DebuggingModes DebuggableAttribute.DebuggingModes Enum

Definición

Especifica el modo de depuración para el compilador Just-In-Time (JIT).Specifies the debugging mode for the just-in-time (JIT) compiler.

Esta enumeración tiene el atributo FlagsAttribute, que permite una combinación bit a bit de sus valores de miembro.

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

Campos

Default Default Default Default 1

Da instrucciones al compilador JIT para que siga su comportamiento predeterminado, que incluye habilitar optimizaciones, deshabilitar la compatibilidad con la función Editar y continuar, y utilizar los puntos de secuencia del almacén de símbolos, si es que existen.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. A partir de la versión 2.0 de .NET Framework, se genera siempre información de seguimiento JIT, el desplazamiento de Lenguaje intermedio de Microsoft (MSIL) correspondiente al desplazamiento de código nativo dentro de un método.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 DisableOptimizations DisableOptimizations DisableOptimizations 256

Deshabilita las optimizaciones realizadas por el compilador para que el archivo de salida sea menor, más rápido y más eficaz.Disable optimizations performed by the compiler to make your output file smaller, faster, and more efficient. Las optimizaciones causan la reestructuración del código en el archivo de salida, por lo que pueden dificultar la depuración.Optimizations result in code rearrangement in the output file, which can make debugging difficult. Normalmente, la optimización debe estar deshabilitada durante la depuración.Typically optimization should be disabled while debugging. En versiones 2.0 o posteriores, combine este valor con Default (Default | DisableOptimizations) para habilitar el seguimiento JIT y deshabilitar las optimizaciones.In versions 2.0 or later, combine this value with Default (Default | DisableOptimizations) to enable JIT tracking and disable optimizations.

EnableEditAndContinue EnableEditAndContinue EnableEditAndContinue EnableEditAndContinue 4

Permite modificar y continuar.Enable edit and continue. Permite realizar cambios en el código fuente mientras el programa está en modo de interrupción.Edit and continue enables you to make changes to your source code while your program is in break mode. La capacidad de editar y continuar depende del compilador.The ability to edit and continue is compiler dependent.

IgnoreSymbolStoreSequencePoints IgnoreSymbolStoreSequencePoints IgnoreSymbolStoreSequencePoints IgnoreSymbolStoreSequencePoints 2

Utiliza los puntos de secuencia implícitos de MSIL y no los puntos de secuencia de la base de datos del programa (PDB).Use the implicit MSIL sequence points, not the program database (PDB) sequence points. La información simbólica suele incluir al menos un desplazamiento de Lenguaje intermedio de Microsoft (MSIL) para cada línea de código fuente.The symbolic information normally includes at least one Microsoft intermediate language (MSIL) offset for each source line. Cuando el compilador Just-In-Time (JIT) está a punto de compilar un método, solicita a los servicios de generación de perfiles una lista de los desplazamientos MSIL que deben conservarse.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. Estos desplazamientos de MSIL se denominan puntos de secuencia.These MSIL offsets are called sequence points.

None None None None 0

A partir de la versión 2.0 de .NET Framework, siempre se genera información de seguimiento JIT y esta marca tiene el mismo efecto que Default, con la excepción de que establece la propiedad IsJITTrackingEnabled en false.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. Sin embargo, como el seguimiento JIT siempre está habilitado, el valor de la propiedad se omite en la versión 2.0 o posteriores.However, because JIT tracking is always enabled, the property value is ignored in version 2.0 or later.

Tenga en cuenta que, a diferencia de la marca DisableOptimizations, la marca None no se puede usar para deshabilitar las optimizaciones JIT.Note that, unlike the DisableOptimizations flag, the None flag cannot be used to disable JIT optimizations.

Comentarios

La DebuggableAttribute.DebuggingModes enumeración especifica cómo el tiempo de ejecución debe realizar un seguimiento de la información importante para el depurador durante la generación de código.The DebuggableAttribute.DebuggingModes enumeration specifies how the runtime is to track information important to the debugger during code generation. Esta información ayuda al depurador a proporcionar una experiencia de depuración enriquecida.This information helps the debugger provide a rich debugging experience. A diferencia de la versión 1,1 de .NET Framework, las versiones 2,0 o posteriores no permiten desactivar el seguimiento por parte del compilador Just-in-Time (JIT).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. El seguimiento JIT siempre está habilitado para los archivos depurables.JIT tracking is always enabled for debuggable files. En la versión 2,0 y versiones posteriores, los valores de enumeración tienen el siguiente efecto.In version 2.0 and later, the enumeration values have the following effect.

Modo de depuraciónDebugging mode ResultadoResult
NingunaNone Seguimiento de, optimizaciones JIT habilitadasTracking on, JIT optimizations enabled
DefaultDefault Seguimiento de, optimizaciones JIT habilitadasTracking on, JIT optimizations enabled
DisableOptimizationsDisableOptimizations Seguimiento de, optimizaciones JIT habilitadasTracking on, JIT optimizations enabled
DisableOptimizations | predeterminadoDefault | DisableOptimizations Seguimiento de, optimizaciones JIT deshabilitadasTracking on, JIT optimizations disabled

Los puntos de secuencia se usan para indicar ubicaciones en el código del lenguaje intermedio de Microsoft (MSIL) que un usuario del depurador espera que pueda hacer referencia a de forma única, como para establecer un punto de interrupción.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. El compilador JIT garantiza que no compila el MSIL en dos puntos de secuencia diferentes en una sola instrucción nativa.The JIT compiler ensures it does not compile the MSIL at two different sequence points into a single native instruction. De forma predeterminada, el compilador JIT examina el almacén de símbolos del archivo de base de datos de programa (PDB) para obtener una lista de puntos de secuencia adicionales.By default, the JIT compiler examines the symbol store in the program database (PDB) file for a list of additional sequence points. Sin embargo, cargar el archivo PDB requiere que el archivo esté disponible y tenga un impacto negativo en el rendimiento.However, loading the PDB file requires that the file be available and has a negative performance impact. A partir de la versión 2,0, los compiladores pueden emitir "puntos de secuencia implícitos" en el flujo de código MSILnop" mediante el uso de instrucciones de MSIL.Starting with version 2.0, compilers can emit "implicit sequence points" in the MSIL code stream through the use of MSIL "nop" instructions. Estos compiladores deben establecer la IgnoreSymbolStoreSequencePoints marca para notificar a la Common Language Runtime que no cargue el archivo PDB.Such compilers should set the IgnoreSymbolStoreSequencePoints flag to notify the common language runtime to not load the PDB file.

Nota

Esta enumeración la usan principalmente los desarrolladores de lenguajes.This enumeration is primarily used by language developers. Por lo general, no se usa en el desarrollo de aplicaciones.It is generally not used in application development. Los entornos de DebuggableAttribute.DebuggingModes desarrollo usan en función de los parámetros del compilador como /Debug y /Optimize.Development environments use DebuggableAttribute.DebuggingModes based on compiler parameters such as /debug and /optimize.

Se aplica a