Partager via


types pris en charge d'événement

Visual Studio débogage actuellement prend en charge les types suivants d'événement :

  • événements asynchrones

    Indiquez au gestionnaire et IDE (SDM) de débogage de session que l'état de l'application qui est déboguée change. Ces événements sont traités aux souhaitez du SDM et de l'IDE. Absence de réponse n'est envoyée au moteur (DE) de débogage une fois que l'événement est traité. Les interfaces d' IDebugOutputStringEvent2 et d' IDebugMessageEvent2 sont des exemples d'événements asynchrones.

  • événements synchrones

    Indiquez au SDM et l'IDE que l'état de l'application qui est déboguée change. la seule différence entre ces événements et événements asynchrones est qu'une réponse est envoyée au moyen de la méthode d' IDebugEngine2 : : ContinueFromSynchronousEvent

    Envoyer un événement synchrone est utile si vous avez besoin de votre De pour poursuivre le traitement après l'IDE reçoit et traite l'événement.

  • Événements cessants synchrones, ou arrêter des événements

    Indiquez au SDM et IDE que l'application est déboguée a cessé d'exécuter le code. Lorsque vous envoyez un événement arrêtant au moyen de la méthode IDebugEventCallback2 : : événement, le paramètre d' IDebugThread2 est requis. Arrêt des événements sont repris par un appel à celui des méthodes suivantes :

    Les interfaces IDebugBreakpointEvent2 et IDebugExceptionEvent2 sont des exemples d'événements d'arrêt.

    Notes

    Les événements cessants asynchrones ne sont pas pris en charge.Il est erroné d'envoyer un événement arrêtant asynchrone.

Discussion

L'implémentation réelle des événements dépend de celle de votre De. Le type de chaque événement envoyé est déterminé par ses attributs, qui sont définis lorsque vous concevez le De. Par exemple, un De peut envoyer IDebugProgramCreateEvent2 en tant qu'événement asynchrone, alors que les autres peuvent envoyer comme un événement arrêtant.

Le tableau suivant spécifie qui programment et il requiert des paramètres de thread pour lesquels les événements, ainsi que l'événement types. Tout événement soit synchrone. aucun événement ne doit être synchrone.

Notes

l'interface d' IDebugEngine2 est requise pour tous les événements.

Événement

IDebugProgram2

IDebugThread2

Empêcher les événements

IDebugActivateDocumentEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

IDebugBreakEvent2

Obligatoire

Obligatoire

Oui

IDebugBreakpointBoundEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

IDebugBreakpointErrorEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

IDebugBreakpointUnboundEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

IDebugBreakpointEvent2

Obligatoire

Obligatoire

Oui

IDebugCanStopEvent2

Obligatoire

Obligatoire

Non

IDebugDocumentTextEvents2

Non autorisé

Non autorisé

Non

IDebugEngineCreateEvent2

Non autorisé

Non autorisé

Non

IDebugEntryPointEvent2

Obligatoire

Obligatoire

Oui

IDebugErrorEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

peut être

IDebugExceptionEvent2

Obligatoire

Obligatoire

Oui

IDebugExpressionEvaluationCompleteEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

peut être

IDebugInterceptExceptionCompleteEvent2

Obligatoire

Obligatoire

Oui

IDebugLoadCompleteEvent2

Obligatoire

Obligatoire

Oui

IDebugMessageEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

peut être

IDebugModuleLoadEvent2

Obligatoire

Autorisée, mais pas obligatoire

Non

IDebugOutputStringEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

IDebugProgramCreateEvent2

Obligatoire

Autorisée, mais pas obligatoire

Non

IDebugProgramDestroyEvent2

Obligatoire

Autorisée, mais pas obligatoire

Non

IDebugPropertyCreateEvent2

Obligatoire

Autorisée, mais pas obligatoire

Non

IDebugPropertyDestroyEvent2

Obligatoire

Autorisée, mais pas obligatoire

Non

IDebugReturnValueEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

IDebugStopCompleteEvent2

Obligatoire

Obligatoire

Oui

IDebugStepCompleteEvent2

Obligatoire

Obligatoire

Oui

IDebugSymbolSearchEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

IDebugThreadCreateEvent2

Obligatoire

Obligatoire

Non

IDebugThreadDestroyEvent2

Obligatoire

Obligatoire

Non

IDebugThreadNameChangedEvent2

Autorisée, mais pas obligatoire

Autorisée, mais pas obligatoire

Non

Voir aussi

Concepts

événements d'émission