Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Enumeración DebuggableAttribute::DebuggingModes

 

Publicado: octubre de 2016

Especifica el modo de depuración para el compilador Just-In-Time (JIT).

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

Espacio de nombres:   System.Diagnostics
Ensamblado:  mscorlib (en mscorlib.dll)

[FlagsAttribute]
[ComVisibleAttribute(true)]
public enum class DebuggingModes

Nombre de miembroDescripción
Default

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

DisableOptimizations

Deshabilita las optimizaciones realizadas por el compilador para que el archivo de salida sea menor, más rápido y más eficaz. Las optimizaciones causan la reestructuración del código en el archivo de salida, por lo que pueden dificultar la depuración. Normalmente, la optimización debe estar deshabilitada durante la depuración. En versiones 2.0 o posteriores, combine este valor con Default (Default | DisableOptimizations) para habilitar el seguimiento JIT y deshabilitar las optimizaciones.

EnableEditAndContinue

Permite modificar y continuar. Permite realizar cambios en el código fuente mientras el programa está en modo de interrupción. La capacidad de editar y continuar depende del compilador.

IgnoreSymbolStoreSequencePoints

Utiliza los puntos de secuencia implícitos de MSIL y no los puntos de secuencia de la base de datos del programa (PDB). 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. 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. Estos desplazamientos de MSIL se denominan puntos de secuencia.

None

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 DebuggableAttribute::IsJITTrackingEnabled en 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.

Tenga en cuenta que, a diferencia de la marca None, la marca None no se puede usar para deshabilitar las optimizaciones JIT.

The T:System.Diagnostics.DebuggableAttribute.DebuggingModes enumeration specifies how the runtime is to track information important to the debugger during code generation. This information helps the debugger provide a rich debugging experience. 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. JIT tracking is always enabled for debuggable files. In version 2.0 and later, the enumeration values have the following effect.

Debugging mode

Result

None

Tracking on, JIT optimizations enabled

Default

Tracking on, JIT optimizations enabled

DisableOptimizations

Tracking on, JIT optimizations enabled

Default | DisableOptimizations

Tracking on, JIT optimizations disabled

Sequence points are used to indicate locations in the Microsoft intermediate language (MSIL) code that a debugger user will expect to be able to refer to uniquely, such as for setting a breakpoint. The JIT compiler ensures it does not compile the MSIL at two different sequence points into a single native instruction. By default, the JIT compiler examines the symbol store in the program database (PDB) file for a list of additional sequence points. However, loading the PDB file requires that the file be available and has a negative performance impact. Starting with version 2.0, compilers can emit "implicit sequence points" in the MSIL code stream through the use of MSIL "nop" instructions. Such compilers should set the F:System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints flag to notify the common language runtime to not load the PDB file.

System_CAPS_noteNota

This enumeration is primarily used by language developers. It is generally not used in application development. Development environments use T:System.Diagnostics.DebuggableAttribute.DebuggingModes based on compiler parameters such as /debug and /optimize.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 2.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: