Compartir a través de


Optimización y depuración JIT

Este tema se aplica a:

Edición

Visual Basic

C#

C++

Web Developer

Express

El tema es aplicable El tema es aplicable

Sólo administrado

El tema es aplicable

Pro, Premium y Ultimate

El tema es aplicable El tema es aplicable

Sólo administrado

El tema es aplicable

Cuando se depura una aplicación administrada, Visual Studio suprime de forma predeterminada la optimización del código Just-In-Time (JIT). Suprimir la optimización JIT significa que se está depurando código no optimizado. El código se ejecuta un poco más lentamente porque no se optimiza, pero la experiencia de depuración es mucho más profunda. La depuración de código optimizado es más difícil, y sólo se recomienda si se detecta un error en el código optimizado que no se puede reproducir en la versión no optimizada.

En Visual Studio, la optimización JIT se controla por medio de la opción Suprimir optimización JIT al cargar el módulo. Puede encontrarla en la página General, bajo el nodo Depuración del cuadro de diálogo Opciones.

Si desactiva la opción Suprimir optimización JIT al cargar el módulo, puede depurar código JIT optimizado, pero su capacidad de depuración puede ser limitada debido a que el código optimizado no coincide con el código fuente. Como resultado, puede que las ventanas del depurador como Variables locales y Automático no muestren tanta información como si se depurara código no optimizado.

Otra diferencia importante es relativa a la depuración con Sólo mi código. Si se depura con Sólo mi código, el depurador considera que el código optimizado no es del usuario, por lo que no debería mostrarse durante la depuración. Por consiguiente, si depura código optimizado JIT, probablemente desee desactivar Sólo mi código. Para obtener más información, vea Cómo: Avanzar en Sólo mi código.

Recuerde que la opción Suprimir optimización JIT al cargar el módulo suprime la optimización del código cuando se cargan los módulos. Si se asocia a un proceso que ya se está ejecutando, éste puede contener código que ya esté cargado, con compilación y optimización JIT. La opción Suprimir optimización JIT al cargar el módulo no afecta a este tipo de código, pero sí a los módulos que se cargan después de la asociación. Además, la opción Suprimir optimización JIT al cargar el módulo no afecta a los módulos, como WinForms.dll, que se crean con NGEN.

Vea también

Tareas

Cómo: Avanzar en Sólo mi código

Conceptos

Proceso de ejecución administrada

Otros recursos

Depurar código administrado

Conectarse a procesos en ejecución