Méthode IDebugControl3 ::SetEngineOptions (dbgeng.h)

La méthode SetEngineOptions modifie les options du moteur.

Syntaxe

HRESULT SetEngineOptions(
  [in] ULONG Options
);

Paramètres

[in] Options

Spécifie les nouvelles options du moteur. Les options sont définies par bits ; elle remplacera les options de symbole existantes. Pour obtenir une description des options du moteur, consultez Remarques.

Valeur retournée

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour.

Code de retour Description
S_OK
La méthode a réussi.

Remarques

Cette méthode définit les options du moteur sur celles spécifiées dans Options. Contrairement à AddEngineOptions, toutes les options de symboles qui ne sont pas répertoriées dans le jeu de bits Options seront supprimées.

Une fois les options du moteur modifiées, le moteur envoie une notification à l’objet de rappel d’événement de chaque client en passant l’indicateur DEBUG_CES_ENGINE_OPTIONS à la méthode IDebugEventCallbacks ::ChangeEngineState .

Les options globales suivantes affectent le comportement du moteur de débogueur :

Constant Description
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION Le moteur de débogueur génère un avertissement au lieu d’une erreur si la version de la DLL DbgHelp ne correspond pas à la version du moteur du débogueur.
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS Désactivez la vérification de version pour les extensions. Cela supprime l’appel du moteur de débogueur à CheckVersion.
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS Les partages réseau peuvent être utilisés pour charger des symboles et des extensions. Cette option empêche le moteur d’interdire les chemins réseau lors du débogage de certains processus système et doit être utilisée avec précaution.

Cette option ne peut pas être définie si DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS est défini.

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS Les partages réseau ne peuvent pas être utilisés pour charger des symboles et des extensions. Le moteur tente de définir cette option lors du débogage de certains processus système.

Cette option ne peut pas être définie si DEBUG_ENGOPT_ALLOW_NETWORK_PATHS est défini.

DEBUG_ENGOPT_NETWORK_PATHS OR au niveau du bit de DEBUG_ENGOPT_ALLOW_NETWORK_PATHS et DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS.
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS Ignorez les exceptions de première chance attendues qui sont générées par le chargeur dans certaines versions de Windows.

Par exemple, cette option permet aux fichiers binaires Windows 3.51 de s’exécuter lors du débogage des systèmes Windows 3.1 et 3.5.

DEBUG_ENGOPT_INITIAL_BREAK Entrez dans le débogueur à l’événement initial de la cible.
DEBUG_ENGOPT_INITIAL_MODULE_BREAK Entrez dans le débogueur lorsque la cible charge son premier module.
DEBUG_ENGOPT_FINAL_BREAK Entrez dans le débogueur lors de l’événement final de la cible. Dans une cible en mode utilisateur actif, c’est à ce moment que le processus se termine. Elle n’a aucun effet en mode noyau.
DEBUG_ENGOPT_NO_EXECUTE_REPEAT Lorsqu’une commande est vide, le moteur de débogueur ne répète pas la dernière commande.
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION Empêchez le débogueur de charger des modules dont les images ne peuvent pas être mappées.

Le débogueur tente de charger des images lors du débogage de minidumps qui ne contiennent pas d’images.

DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS Autorisez le moteur de débogueur à manipuler les protections de page sur la cible pour permettre de définir des points d’arrêt logiciels dans une section de mémoire en lecture seule.

Lors de la définition de points d’arrêt logiciels, le moteur modifie en toute transparence la mémoire de la cible pour insérer une instruction d’interruption.

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS Dans le débogage en mode utilisateur actif, le moteur effectue un travail supplémentaire lors de l’insertion et de la suppression de points d’arrêt pour s’assurer que tous les threads de la cible ont un état de point d’arrêt cohérent à tout moment.

Cette option est utile lorsque plusieurs threads peuvent utiliser le code pour lequel le point d’arrêt est défini. Toutefois, il peut introduire la possibilité d’interblocages.

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS Interdire l’exécution de commandes de l’interpréteur de commandes via le débogueur.

Une fois cette option définie, elle ne peut pas être supprimée.

DEBUG_ENGOPT_KD_QUIET_MODE Activez le mode silencieux. Pour plus d’informations, consultez sq (Définir le mode silencieux).
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT Désactive la prise en charge du moteur de débogueur pour le code managé. Si la prise en charge du code managé est déjà utilisée, cette option n’a aucun effet.
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD Le débogueur ne charge pas de symboles pour les modules chargés pendant la définition de cet indicateur.
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS Empêche les commandes qui entraîneraient le début de l’exécution de la cible.
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING Interdit le mappage des fichiers image à partir du disque. Par exemple, cette option interdit le mappage d’images pour le contenu mémoire pendant le débogage des fichiers minidump. Cette option n’affecte pas les mappages existants ; elle affecte uniquement les tentatives ultérieures de mappage de fichiers image.
DEBUG_ENGOPT_PREFER_DML Le débogueur exécute des versions améliorées DML des commandes et des opérations par défaut.
DEBUG_ENGOPT_DISABLESQM Désactive le chargement des données² (Software Quality Metrics).

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)

Voir aussi

AddEngineOptions

GetEngineOptions

IDebugControl

IDebugControl2

IDebugControl3

RemoveEngineOptions