Méthode IDebugControl ::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. Options est un jeu de bits ; il 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 |
---|---|
|
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 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 du 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 du 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 attendues de première chance 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 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 permettre de définir des points d’arrêt logiciels dans une section en lecture seule de la mémoire.
Lorsque vous définissez des points d’arrêt logiciels, le moteur modifie de manière transparente 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 des 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 d’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à 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 qui sont chargés pendant que cet indicateur est défini. |
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS | Empêche toutes les commandes qui entraîneraient le début de l’exécution de la cible. |
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING | Interdit le mappage de 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 ultérieures de mappage de fichiers image. |
DEBUG_ENGOPT_PREFER_DML | Le débogueur exécute par défaut des versions améliorées DML des commandes et des opérations. |
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) |