Méthode IDebugEventCallbacks ::ChangeDebuggeeState (dbgeng.h)
La méthode de rappel ChangeDebuggeeState est appelée par le moteur lorsqu’il apporte ou détecte des modifications à la cible.
Syntaxe
HRESULT ChangeDebuggeeState(
[in] ULONG Flags,
[in] ULONG64 Argument
);
Paramètres
[in] Flags
Spécifie le type de modifications apportées à la cible. Les indicateurs peuvent prendre l’une des valeurs suivantes :
Valeur | Description |
---|---|
DEBUG_CDS_ALL | Une modification générale de la cible s’est produite. Par exemple, la cible est en cours d’exécution ou le moteur vient de s’attacher à la cible. |
DEBUG_CDS_REGISTERS | Les registres du processeur pour la cible ont changé. |
DEBUG_CDS_DATA | L’espace de données de la cible a changé. |
DEBUG_CDS_REFRESH | Informez les clients gui d’actualiser les fenêtres du débogueur. |
[in] Argument
Fournit des informations supplémentaires sur la modification dans la cible. L’interprétation de la valeur de Argument dépend de la valeur des indicateurs :
- DEBUG_CDS_ALL
- La valeur de Argument est zéro.
- DEBUG_CDS_REGISTERS
- Si un registre unique a changé, la valeur de Argument est l’index de ce registre. Sinon, la valeur de Argument est DEBUG_ANY_ID.
- DEBUG_CDS_DATA
-
La valeur de Argument spécifie l’espace de données qui a été modifié. Le tableau suivant contient les valeurs possibles de Argument.
Valeur Description DEBUG_DATA_SPACE_VIRTUAL La mémoire virtuelle de la cible a changé. DEBUG_DATA_SPACE_PHYSICAL La mémoire physique de la cible a changé. DEBUG_DATA_SPACE_CONTROL La mémoire de contrôle de la cible a changé. DEBUG_DATA_SPACE_IO Les ports d’E/S de la cible ont reçu une entrée ou une sortie. DEBUG_DATA_SPACE_MSR Les registres de Model-Specific (MSR) de la cible ont changé. DEBUG_DATA_SPACE_BUS_DATA La mémoire du bus de la cible a changé. - DEBUG_CDS_REFRESH
-
Le tableau suivant contient les valeurs possibles de Argument.
Valeur DEBUG_CDS_REFRESH_EVALUATE DEBUG_CDS_REFRESH_EXECUTE DEBUG_CDS_REFRESH_EXECUTECOMMANDFILE DEBUG_CDS_REFRESH_ADDBREAKPOINT DEBUG_CDS_REFRESH_REMOVEBREAKPOINT DEBUG_CDS_REFRESH_WRITEVIRTUAL DEBUG_CDS_REFRESH_WRITEVIRTUALUNCACHED DEBUG_CDS_REFRESH_WRITEPHYSICAL DEBUG_CDS_REFRESH_WRITEPHYSICAL2 DEBUG_CDS_REFRESH_SETVALUE DEBUG_CDS_REFRESH_SETVALUE2 DEBUG_CDS_REFRESH_SETSCOPE DEBUG_CDS_REFRESH_SETSCOPEFRAMEBYINDEX DEBUG_CDS_REFRESH_SETSCOPEFROMJITDEBUGINFO DEBUG_CDS_REFRESH_SETSCOPEFROMSTOREDEVENT DEBUG_CDS_REFRESH_INLINESTEP DEBUG_CDS_REFRESH_INLINESTEP_PSEUDO
Valeur retournée
La valeur de retour est ignorée par le moteur, sauf si elle indique une erreur d’appel de procédure distante ; dans ce cas, le client, avec lequel cet objet IDebugEventCallbacks est inscrit, est désactivé.
Remarques
Le moteur appelle ChangeDebuggeeState uniquement si l’indicateur DEBUG_EVENT_CHANGE_DEBUGGEE_STATE est défini dans le masque retourné par IDebugEventCallbacks ::GetInterestMask.
Pour plus d’informations sur la gestion des événements, consultez Surveillance des événements. Pour plus d’informations sur la gestion de la mémoire de la cible, y compris les registres et les espaces de données, consultez Accès à la mémoire. Pour plus d’informations sur la mémoire virtuelle et physique de la cible, consultez Mémoire virtuelle et physique. Pour plus d’informations sur la mémoire de contrôle, les ports d’E/S, MSR et la mémoire de bus de la cible, consultez Autres espaces de données.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h (inclure Dbgeng.h) |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour