Partager via


IDebugControl ::SetEngineOptions, méthode (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. options est un jeu de bits ; il remplace les options de symbole existantes. Pour obtenir une description des options du moteur, consultez Remarques.

Valeur de retour

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

Retourner le code 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 symbole qui ne sont pas répertoriées dans le Options jeu de bits sont 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 de débogueur.
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS Désactivez la vérification des versions 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 de refuser les chemins réseau lors du débogage de certains processus système et doit être utilisé avec précaution.

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

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS Les partages réseau ne peuvent pas être utilisés pour le chargement de symboles et d’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éfinie.

DEBUG_ENGOPT_NETWORK_PATHS OR au niveau du bit de DEBUG_ENGOPT_ALLOW_NETWORK_PATHS et de DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS.
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS Ignorez les exceptions de première chance attendues 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 Arrêtez le débogueur à l’événement initial de la cible.
DEBUG_ENGOPT_INITIAL_MODULE_BREAK Décomposez le débogueur lorsque la cible charge son premier module.
DEBUG_ENGOPT_FINAL_BREAK Arrêtez le débogueur à l’événement final de la cible. Dans une cible en mode utilisateur actif, il s’agit du moment où le processus s’arrête. Il n’a aucun effet en mode noyau.
DEBUG_ENGOPT_NO_EXECUTE_REPEAT Lorsqu’une commande est donnée, le moteur du 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 autoriser la définition de points d’arrêt logiciels dans une section de mémoire en lecture seule.

Lorsque vous définissez des 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 vous assurer que tous les threads dans 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 shell via le débogueur.

Une fois cette option définie, elle ne peut pas être annulé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à en cours d’utilisation, 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 que cet indicateur est défini.
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS Empêche les commandes qui provoquent 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 de fichiers minidump. Cette option n’affecte pas les mappages existants ; elle affecte uniquement les tentatives suivantes pour mapper des fichiers image.
DEBUG_ENGOPT_PREFER_DML Le débogueur exécute par défaut les versions améliorées DML des commandes et des opérations.
DEBUG_ENGOPT_DISABLESQM Désactive le chargement des données de métriques de qualité logicielle (SQ).

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête dbgeng.h (include Dbgeng.h)

Voir aussi

AddEngineOptions

GetEngineOptions

IDebugControl

IDebugControl2

IDebugControl3

RemoveEngineOptions