Partager via


Options générales de débogage

Pour définir les options du débogueur Visual Studio, sélectionnez Outils>Options, puis, sous Débogage sélectionnez ou désélectionnez les zones en regard des options générales. Vous pouvez restaurer tous les paramètres par défaut avec Tools>Paramètres d’importation et d’exportation>Réinitialiser tous les paramètres. Pour réinitialiser un sous-ensemble de paramètres, enregistrez vos paramètres avec l’Assistant Importation et Exportation des paramètres avant d’apporter les modifications que vous souhaitez tester, puis importez vos paramètres enregistrés par la suite.

Vous pouvez définir les options générales suivantes :

Demander avant de supprimer tous les points d’arrêt: nécessite une confirmation avant de terminer la commande Supprimer tous les points d’arrêt.

Interrompre tous les processus lorsqu’un processus se bloque: arrête simultanément tous les processus auxquels le débogueur est attaché, lorsqu’un arrêt se produit.

Arrêter lorsque des exceptions dépassent les limites AppDomain ou managées/natives : lors du débogage managé ou en mode mixte, le common language runtime peut intercepter les exceptions qui transgressent les limites entre domaines d’application ou les limites managées/natives quand les conditions suivantes sont remplies :

  1. Lorsque le code natif appelle du code managé à l’aide de COM Interop et que le code managé lève une exception. Consultez Présentation de COM Interop.

  2. Lorsque le code managé exécuté dans le domaine d’application 1 appelle du code managé dans le domaine d’application 2, et le code du domaine d’application 2 lève une exception. Consultez Programmation avec des domaines d’application.

  3. Lorsque le code appelle une fonction à l’aide de la réflexion et que la fonction lève une exception. Consultez Réflexion.

Dans les conditions 2 et 3, l’exception est parfois interceptée par du code managé dans mscorlib plutôt que par le Common Language Runtime. Cette option n'a aucune incidence sur l'arrêt sur les exceptions interceptées par mscorlib.

Activer le débogage au niveau de l’adresse: active les fonctionnalités avancées pour le débogage au niveau de l’adresse (la fenêtre Désassembler, la fenêtre Inscrire et les points d’arrêt d’adresse).

  • Afficher le désassemblement si la source n’est pas disponible: affiche automatiquement la fenêtre Désassemblement lorsque vous déboguez du code pour lequel la source n’est pas disponible.

Activer les filtres de points d’arrêt: vous permet de définir des filtres sur des points d’arrêt afin qu’ils affectent uniquement des processus, des threads ou des ordinateurs spécifiques.

Utiliser le nouvel assistant d'exception: active le Helper d'exception qui remplace l'assistant d'exception. (L’assistance sur les exceptions est prise en charge à partir de Visual Studio 2017)

Remarque

Pour le code managé, cette option a été appelée précédemment Activer l’Assistant Exception.

Activer uniquement mon code: le débogueur affiche et effectue les étapes dans le code utilisateur (« Mon code ») uniquement, en ignorant le code système et d’autres codes optimisés ou qui n’ont pas de symboles de débogage.

  • Avertir si aucun code utilisateur n’est lancé (géré uniquement): lorsque le débogage commence par Just My Code activé, cette option vous avertit s’il n’y a pas de code utilisateur (« Mon code »).

Activer l’exécution pas à pas du code source du .NET Framework : permet au débogueur d’effectuer un pas à pas détaillé dans la source .NET Framework. L’activation de cette option désactive automatiquement uniquement mon code. Les symboles .NET Framework seront téléchargés vers un emplacement de cache. Modifiez l’emplacement du cache avec la boîte de dialogue Options , catégorie Débogage , page Symboles .

Pas à pas principal dans les propriétés et les opérateurs (Managé uniquement) : empêche le débogueur d’effectuer un pas à pas détaillé dans les propriétés et les opérateurs dans le code managé.

Activer l’évaluation des propriétés et d’autres appels de fonction implicites: active l’évaluation automatique des propriétés et des appels de fonction implicites dans les fenêtres variables et la boîte de dialogue QuickWatch.

  • Appeler la fonction de conversion de chaîne sur les objets dans les fenêtres de variables (C# et JavaScript uniquement): Exécute un appel de conversion implicite en chaîne lors de l’évaluation d’objets dans les fenêtres de variables. Le résultat est affiché sous forme de chaîne au lieu du nom de type. S’applique uniquement lors du débogage dans le code C#. Ce paramètre peut être remplacé par l’attribut DebuggerDisplay (voir Utilisation de l’attribut DebuggerDisplay).

Activer la prise en charge du serveur source: indique au débogueur Visual Studio d’obtenir des fichiers sources à partir de serveurs sources qui implémentent le protocole SrcSrv (srcsrv.dll). Team Foundation Server et les outils de débogage pour Windows sont deux serveurs sources qui implémentent le protocole. Pour plus d’informations sur la configuration de SrcSrv, consultez la documentation SrcSrv. En outre, consultez Spécifier les fichiers de symbole (.pdb) et les fichiers sources.

Important

Étant donné que lire des fichiers .pdb peut exécuter du code arbitraire, assurez-vous de faire confiance au serveur.

  • Imprimer les messages de diagnostic du serveur source dans la fenêtre Sortie: lorsque la prise en charge du serveur source est activée, ce paramètre active l’affichage des diagnostics.

  • Autoriser le serveur source pour les assemblys d’approbation partielle (gérés uniquement): lorsque la prise en charge du serveur source est activée, ce paramètre remplace le comportement par défaut de ne pas récupérer les sources pour les assemblys d’approbation partielle.

  • Toujours exécuter des commandes de serveur source non approuvées sans inviter: lorsque la prise en charge du serveur source est activée, ce paramètre remplace le comportement par défaut de l’invite lors de l’exécution d’une commande non approuvée.

Activer la prise en charge du lien source : indique au débogueur Visual Studio de télécharger les fichiers sources pour les fichiers .pdb qui contiennent des informations de lien source. Pour plus d’informations sur le lien source, consultez la spécification du lien source .

Important

Étant donné que Source Link télécharge des fichiers à l’aide de http ou https, assurez-vous de faire confiance au fichier .pdb.

  • Revenir à l’authentification Git Credential Manager pour toutes les demandes de liaison source: lorsque la prise en charge du lien source est activée et qu’une demande de liaison source échoue, Visual Studio appelle ensuite Git Credential Manager.

Mettre en surbrillance toute la ligne source pour les points d’arrêt et l’instruction actuelle (C++ uniquement): lorsque le débogueur met en surbrillance un point d’arrêt ou une instruction actuelle, il met en surbrillance toute la ligne.

Exiger que les fichiers sources correspondent exactement à la version d’origine: indique au débogueur de vérifier qu’un fichier source correspond à la version du code source utilisé pour générer l’exécutable que vous déboguez. Lorsque la version ne correspond pas, vous êtes invité à rechercher une source correspondante. Si une source correspondante est introuvable, le code source ne s’affiche pas pendant le débogage.

Rediriger tout le texte de la fenêtre Sortie vers la fenêtre Exécution : envoie tous les messages du débogueur qui s’affichent normalement dans la fenêtre Sortie vers la fenêtre Exécution.

Afficher la structure brute des objets dans les fenêtres variables: désactive toutes les personnalisations d’affichage de structure d’objets. Pour plus d’informations sur les personnalisations d’affichage, consultez Créer des vues personnalisées d’objets managés.

Supprimer l’optimisation JIT sur le chargement de module (géré uniquement): désactive l’optimisation JIT du code managé lorsqu’un module est chargé et que JIT est compilé pendant que le débogueur est attaché. La désactivation de l’optimisation peut faciliter le débogage de certains problèmes, bien qu’au détriment des performances. Si vous utilisez Simplement mon code, la suppression de l’optimisation JIT peut entraîner l’affichage du code non utilisateur en tant que code utilisateur (« Mon code »). Pour plus d’informations, consultez Optimisation et débogage JIT.

Activer le débogage JavaScript pour ASP.NET (Chrome, Microsoft Edge et Internet Explorer): active le débogueur de script pour les applications ASP.NET. Lors de la première utilisation dans Chrome, vous devrez peut-être vous connecter au navigateur pour activer les extensions Chrome que vous avez installées. Désactivez cette option pour revenir au comportement hérité.

Activer l’utilisation du débogueur JavaScript multi-cible pour le débogage de JavaScript dans les cibles applicables (nécessite le redémarrage du débogage) Active la connexion au navigateur et au back-end simultanément, ce qui vous permet de déboguer votre code en cours d’exécution dans le client et le serveur directement à partir de l’éditeur.

Charger les exportations de dll (Natif uniquement) : charge les tables d’exportation dll. Les informations de symbole des tables d’exportation dll peuvent être utiles si vous utilisez des messages Windows, des procédures Windows (WindowProcs), des objets COM ou un marshaling, ou toute dll pour laquelle vous n’avez pas de symboles. La lecture des informations d’exportation de DLL implique un surcoût. Par conséquent, cette fonctionnalité est désactivée par défaut.

Pour voir quels symboles sont disponibles dans la table d’exportation d’une dll, utilisez dumpbin /exports. Les symboles sont disponibles pour tout DLL système 32 bits. En lisant la sortie dumpbin /exports, vous pouvez voir le nom de la fonction exacte, y compris les caractères non alphanumériques. Cela est utile pour définir un point d’arrêt sur une fonction. Les noms de fonction des tables d’exportation dll peuvent apparaître tronqués ailleurs dans le débogueur. Les appels sont répertoriés dans l’ordre d’appel, avec la fonction actuelle (la plus profondément imbriquée) en haut. Pour plus d’informations, consultez dumpbin /exports.

Afficher le diagramme ascendant des piles parallèles : contrôle la direction dans laquelle les piles sont affichées dans la fenêtre Piles parallèles.

Ignorer les exceptions d’accès à la mémoire GPU si les données écrites n’ont pas modifié la valeur : ignore les conditions de concurrence détectées lors du débogage si les données n’ont pas changé. Pour plus d’informations, consultez Débogage du code GPU.

utiliser le mode de compatibilité managée: remplace le moteur de débogage par défaut par une version héritée pour activer ces scénarios :

  • Vous utilisez un langage .NET autre que C#, Visual Basic ou F# qui fournit son propre évaluateur d’expression (cela inclut C++/CLI).

  • Vous souhaitez activer Modifier et continuer pour les projets C++ pendant le débogage en mode mixte.

Remarque

Le choix du mode de compatibilité managée désactive certaines fonctionnalités implémentées uniquement dans le moteur de débogage par défaut. Le moteur de débogage hérité a été remplacé dans Visual Studio 2012.

Avertir lors de l’utilisation de visualiseurs de débogueur personnalisés contre des processus potentiellement dangereux (gérés uniquement): Visual Studio vous avertit lorsque vous utilisez un visualiseur de débogueur personnalisé exécutant du code dans le processus débogué, car il peut exécuter du code non sécurisé.

Activer le débogage de l’allocateur de tas Windows (Natif uniquement) : permet au tas de débogage Windows d’améliorer les diagnostics du tas. L’activation de cette option aura un impact sur les performances de débogage.

Activer les outils de débogage de l’interface utilisateur pour XAML: l’arborescence dynamique des visuels et les fenêtres Live Property Explorer s’affichent lorsque vous démarrez le débogage (F5) un type de projet pris en charge. Pour plus d’informations, consultez Inspecter les propriétés XAML en phase de débogage.

  • Afficher l’aperçu des éléments sélectionnés dans l’arborescence d’éléments visuels en direct : l’élément XAML dont le contexte est sélectionné est également sélectionné dans la fenêtre Arborescence d’éléments visuels en direct.

  • Afficher les outils de runtime dans l’application : affiche les commandes d’Arborescence d’éléments visuels en direct dans une barre d’outils de la fenêtre principale de l’application XAML en cours de débogage.

  • Activer le rechargement à chaud XAML: vous permet d’utiliser la fonctionnalité de rechargement à chaud XAML avec du code XAML lorsque votre application est en cours d’exécution. (Cette fonctionnalité a été appelée précédemment « Xaml Edit and Continue »)

  • Activer Uniquement mon XAML : depuis Visual Studio 2019 version 16.4, l’Arborescence d’éléments visuels en direct affiche par défaut uniquement le code XAML classé en tant que code utilisateur. Si vous désactivez cette option, tout le code XAML généré s’affiche dans l’outil.

  • Désactiver le mode de sélection lorsqu’un élément est sélectionné À partir de Visual Studio 2019 version 16.4, le bouton sélecteur d’élément de la barre d’outils dans l’application (Activer la sélection) se désactive lorsqu’un élément est sélectionné. Si vous désactivez cette option, la sélection des éléments reste activée jusqu’à ce que vous cliquez à nouveau sur le bouton de barre d’outils dans l’application.

  • Appliquer le rechargement à chaud XAML lors de l'enregistrement du document. À partir de Visual Studio 2019 version 16.6, s'applique le rechargement à chaud XAML lorsque vous enregistrez votre document.

Activer les outils de diagnostic lors du débogage: la fenêtre outils de diagnostic s’affiche pendant le débogage.

Afficher le PerfTip du temps écoulé durant le débogage : la fenêtre de code affiche le temps écoulé d’un appel de méthode donné lors du débogage.

Activer la modification et continuer: active la fonctionnalité Modifier et Continuer lors du débogage.

  • Activer la modification native et continuer: vous pouvez utiliser la fonctionnalité Modifier et Continuer lors du débogage du code C++ natif. Pour plus d’informations, consultez Modifier et continuer (C++).

  • Appliquer les modifications sur continuer (native uniquement): Visual Studio compile automatiquement et applique les modifications de code en attente que vous avez apportées lors de la poursuite du processus à partir d’un état d’arrêt. Si cette option n’est pas sélectionnée, vous pouvez choisir d’appliquer les modifications à l’aide de l’élément Appliquer les modifications du code dans le menu Déboguer.

  • Signaler le code périmé (natif uniquement) : recevez des avertissements sur le code périmé.

Afficher le bouton Exécuter au clic dans l’éditeur lors du débogage: Quand cette option est sélectionnée, le bouton Exécuter au clic s’affiche lors du débogage.

fermer automatiquement la console lorsque le débogage s’arrête: indique à Visual Studio de fermer la console à la fin d’une session de débogage.

Activer l’évaluation rapide des expressions (gérée uniquement): permet au débogueur de tenter une évaluation plus rapide en simulant l’exécution de propriétés et de méthodes simples.

Charger les symboles de débogage dans un processus externe (natif uniquement) : active cette optimisation de la mémoire lors du débogage.

Faites passer Visual Studio au premier plan lors d'une interruption dans le débogueur Basculez Visual Studio au premier plan lorsque vous effectuez une pause dans le débogueur.

Conserver les infobulles de données élargies ouvertes jusqu'à ce qu'un clic les ferme Lorsque cette option est sélectionnée, une infobulle de données élargie reste ouverte jusqu'à ce que vous cliquiez ailleurs.

Options disponibles dans les versions antérieures de Visual Studio

Si vous utilisez une version antérieure de Visual Studio, certaines options supplémentaires peuvent être présentes.

Activer les outils de développement Edge pour les applications JavaScript UWP (expérimentales): active les outils de développement pour les applications JavaScript UWP dans Microsoft Edge.

Activer le débogueur JavaScript Chrome hérité pour ASP.NET: active le débogueur de script JavaScript Chrome hérité pour les applications ASP.NET. Lors de la première utilisation dans Chrome, vous devrez peut-être vous connecter au navigateur pour activer les extensions Chrome que vous avez installées.

Activer l’Assistant Exception: pour le code managé, active l’Assistant Exception. À compter de Visual Studio 2017, l'Assistant d'exception a remplacé l'auxiliaire d'exception.

Dérouler la pile des appels sur les exceptions non gérées : la fenêtre Pile des appels restaure la pile des appels au point qui précède l’exception non gérée.

Utiliser une méthode expérimentale pour lancer le débogage JavaScript Chrome lors de l’exécution de Visual Studio en tant qu’administrateur: indique à Visual Studio d’essayer de lancer Chrome pendant le débogage JavaScript.

Avertir s’il n’y a pas de symboles lors du lancement (natif uniquement): affiche une boîte de dialogue d’avertissement lorsque vous déboguez un programme pour lequel le débogueur n’a aucune information de symbole.

Avertir si le débogage de script est désactivé lors du lancement: affiche une boîte de dialogue d’avertissement lorsque le débogueur est lancé avec le débogage de script désactivé.

Utiliser le mode de compatibilité managée: lorsque cette option est sélectionnée, le débogueur utilise le débogueur managé Visual Studio 2010, ce qui a été requis lorsque vous déboguez le code C++/CLI.

Utiliser le mode de compatibilité native: lorsque cette option est sélectionnée, le débogueur utilise le débogueur natif Visual Studio 2010 au lieu du nouveau débogueur natif.

  • Utilisez cette option lorsque vous déboguez du code .NET C++, car le nouveau moteur de débogage ne prend pas en charge l’évaluation des expressions .NET C++. Toutefois, l’activation du mode de compatibilité native désactive de nombreuses fonctionnalités qui dépendent de l’implémentation actuelle du débogueur pour fonctionner. Par exemple, le moteur hérité ne dispose pas de nombreux visualiseurs pour les types intégrés comme std::string dans les projets Visual Studio 2015. Utilisez des projets Visual Studio 2013 pour optimiser l’expérience de débogage dans ces cas.

Voir aussi