Partager via


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)