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 |
---|---|
|
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) |