Condividi tramite


Tipi di eventi supportati

Visual Studio che esegue il debug attualmente sono supportati i seguenti tipi di evento:

  • eventi asincroni

    Informare l'amministratore (SDM) di debug della sessione e l'ide che lo stato dell'applicazione sottoposta a debug viene modificato. Questi eventi vengono elaborati allo svago di SDM e dell'IDE. Non viene ricevuta alcuna risposta inviata al (DE) motore di debug una volta che viene elaborato. IDebugOutputStringEvent2 Le interfacce e IDebugMessageEvent2 sono esempi di eventi asincroni.

  • eventi sincroni

    Informare lo SDM e l'ide che lo stato dell'applicazione sottoposta a debug viene modificato. L'unica differenza tra questi eventi e gli eventi asincroni è che la risposta inviata tramite il metodo IDebugEngine2:: ContinueFromSynchronousEvent .

    Inviare un evento sincrono è utile se è necessario un DE di continuare a sviluppare dopo l'ide si riceve ed elabora l'evento.

  • Eventi sincroni, arrestare o interrompere gli eventi

    Informare lo SDM e l'ide che l'applicazione di cui si esegue il debug della chiusura del codice. Quando si invia un evento bloccato utilizzando il metodo IDebugEventCallback2:: evento, IDebugThread2 il parametro è obbligatoria. Arrestando gli eventi sono ha proseguito fino da una chiamata a quella dei metodi seguenti:

    Le interfacce IDebugBreakpointEvent2 e IDebugExceptionEvent2 sono esempi di eventi di arresto.

    Nota

    gli eventi arrestare asincroni non sono supportati.È un errore per inviare un evento bloccato asincrono.

Descrizione

Dell'implementazione effettiva degli eventi dipende dalla progettazione di DE. Il tipo di ogni evento inviato è determinato dai relativi attributi, che vengono impostati quando si progetta il DE. Ad esempio, un DE possibile inviare IDebugProgramCreateEvent2 come evento asincrono, mentre un altro può inviarlo come evento bloccato.

Nella tabella seguente vengono specificati che programmano e parametri del thread al quale eventi di necessari nonché tipi di evento. Qualsiasi evento può essere sincrono. nessun evento deve essere sincrono.

Nota

IDebugEngine2 l'interfaccia è obbligatoria per tutti gli eventi.

Evento

IDebugProgram2

IDebugThread2

Arrestare gli eventi

IDebugActivateDocumentEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

IDebugBreakEvent2

Obbligatorio

Obbligatorio

IDebugBreakpointBoundEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

IDebugBreakpointErrorEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

IDebugBreakpointUnboundEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

IDebugBreakpointEvent2

Obbligatorio

Obbligatorio

IDebugCanStopEvent2

Obbligatorio

Obbligatorio

No

IDebugDocumentTextEvents2

Non consentito

Non consentito

No

IDebugEngineCreateEvent2

Non consentito

Non consentito

No

IDebugEntryPointEvent2

Obbligatorio

Obbligatorio

IDebugErrorEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

può essere

IDebugExceptionEvent2

Obbligatorio

Obbligatorio

IDebugExpressionEvaluationCompleteEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

può essere

IDebugInterceptExceptionCompleteEvent2

Obbligatorio

Obbligatorio

IDebugLoadCompleteEvent2

Obbligatorio

Obbligatorio

IDebugMessageEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

può essere

IDebugModuleLoadEvent2

Obbligatorio

concedere, ma non obbligatorio

No

IDebugOutputStringEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

IDebugProgramCreateEvent2

Obbligatorio

concedere, ma non obbligatorio

No

IDebugProgramDestroyEvent2

Obbligatorio

concedere, ma non obbligatorio

No

IDebugPropertyCreateEvent2

Obbligatorio

concedere, ma non obbligatorio

No

IDebugPropertyDestroyEvent2

Obbligatorio

concedere, ma non obbligatorio

No

IDebugReturnValueEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

IDebugStopCompleteEvent2

Obbligatorio

Obbligatorio

IDebugStepCompleteEvent2

Obbligatorio

Obbligatorio

IDebugSymbolSearchEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

IDebugThreadCreateEvent2

Obbligatorio

Obbligatorio

No

IDebugThreadDestroyEvent2

Obbligatorio

Obbligatorio

No

IDebugThreadNameChangedEvent2

concedere, ma non obbligatorio

concedere, ma non obbligatorio

No

Vedere anche

Concetti

L'invio di eventi