Partager via


IDebugControl2 ::SetInterrupt, méthode (dbgeng.h)

La méthode SetInterrupt inscrit une interruption ou un saut d’utilisateur dans le débogueur.

Syntaxe

HRESULT SetInterrupt(
  [in] ULONG Flags
);

Paramètres

[in] Flags

Spécifie le type d’interruption à inscrire. indicateurs pouvez prendre l’une des valeurs répertoriées dans le tableau suivant.

Valeur Description
DEBUG_INTERRUPT_ACTIVE Si la cible est en cours d’exécution, le moteur demande un saut dans le débogueur. Cette demande peut expirer. Pour plus d’informations, consultez la section « Remarques ».

Sinon, lorsque la cible est suspendue, le moteur inscrit une interruption utilisateur.

DEBUG_INTERRUPT_PASSIVE Le moteur inscrit une interruption utilisateur.
DEBUG_INTERRUPT_EXIT S’il existe actuellement un appel WaitForEvent en cours d’exécution, le moteur le force à retourner. S’il existe des commandes de débogueur provoquant l’exécution dans la cible ( par exemple, g (Go) et p (étape) - le moteur les force à se terminer. Cela ne force pas un saut dans le débogueur, de sorte que la cible peut ne pas être suspendue. Dans ce cas, l’appel WaitForEvent retourne E_PENDING.

Sinon, lorsque la cible est suspendue, inscrivez une interruption utilisateur.

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
S_OK
La méthode a réussi.

Remarques

Cette méthode peut être appelée à tout moment et à partir de n’importe quel thread. Une fois l’interruption enregistrée, cette méthode retourne immédiatement.

Si indicateurs est DEBUG_INTERRUPT_ACTIVE et que l’interruption expire, le moteur génère un événement d’exception synthétique. Cet événement sera envoyé à la méthode IDebugEventCallbacks ::Exception de rappel d’événement. La durée avant l’expiration de l’interruption peut être définie à l’aide de SetInterruptTimeout.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête dbgeng.h (include Dbgeng.h)

Voir aussi

GetInterrupt

GetInterruptTimeout

IDebugControl

IDebugControl2

IDebugControl3

setInterruptTimeout