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