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