Partager via


Optimisation JIT et débogage

Mise à jour : novembre 2007

Cette rubrique s'applique à :

Édition

Visual Basic

C#

C++

Web Developer

Express

La rubrique s'applique La rubrique s'applique

Managé uniquement

La rubrique s'applique

Standard

La rubrique s'applique La rubrique s'applique

Managé uniquement

La rubrique s'applique

Pro et Team

La rubrique s'applique La rubrique s'applique

Managé uniquement

La rubrique s'applique

Légende du tableau :

La rubrique s'applique

Applicable

La rubrique ne s'applique pas

Non applicable

La rubrique s'applique mais la commande est masquée par défaut

Commande ou commandes masquées par défaut.

Lorsque vous déboguez une application managée, Visual Studio supprime par défaut de l'optimisation de code juste-à-temps (JIT). La suppression de l'optimisation JIT signifie que vous déboguez un code non optimisé. Le code s'exécute un peu plus lentement parce qu'il n'est pas optimisé, mais votre expérience de débogage est beaucoup plus complète. Le débogage de code optimisé est plus ardu et est recommandé uniquement si vous rencontrez un bogue qui se produit dans un code optimisé mais ne peut pas être reproduit dans la version non optimisée.

L'optimisation JIT est contrôlée dans Visual Studio par l'option Supprimer l'optimisation JIT lors du chargement du module. Vous pouvez rechercher cette option sur la page Général sous le nœud Débogage dans la boîte de dialogue Options.

Si vous effacez l'option Supprimer l'optimisation JIT lors du chargement du module, vous pouvez déboguer le code JIT optimisé, mais votre capacité de débogage peut être limitée car le code optimisé ne correspond pas au code source. En conséquence, les fenêtres de débogage telles que Variables locales et la fenêtre Automatique ne peuvent pas afficher autant d'informations qu'elles le peuvent si vous déboguez un code non optimisé.

Une autre différence importante concerne le débogage avec Uniquement mon code. Si vous déboguez avec Uniquement mon code, le débogueur considère le code optimisé comme un code non-utilisateur, qui ne doit pas être affiché pendant le débogage. Par conséquent, si vous déboguez un code optimisé JIT, vous souhaiterez probablement désactiver Uniquement mon code. Pour plus d'informations, consultez Comment : effectuer un pas à pas détaillé dans Uniquement mon code.

Souvenez-vous que l'option Supprimer l'optimisation JIT lors du chargement du module supprime l'optimisation du code lorsque les modules sont chargés. Si vous rejoignez un processus déjà en cours d'exécution, il peut contenir un code qui est déjà chargé, compilé par JIT et optimisé. L'option Supprimer l'optimisation JIT lors du chargement du module n'a aucun effet sur un tel code, bien qu'elle affecte des modules qui sont chargés après l'attachement. De plus, l'option Supprimer l'optimisation JIT lors du chargement du module n'affecte pas les modules, tels que WinForms.dll, qui sont créés avec NGEN.

Voir aussi

Tâches

Comment : effectuer un pas à pas détaillé dans Uniquement mon code

Concepts

Processus d'exécution managée

Autres ressources

Débogage du code managé

Attachement à des processus en cours d'exécution