Condividi tramite


Inviare eventi di avvio dopo un avvio

Quando il motore di debug (DE) è collegato al programma, invia una serie di eventi di avvio alla sessione di debug.

Gli eventi di avvio inviati alla sessione di debug includono:

  • Evento di creazione del motore.

  • Evento di creazione del programma.

  • Eventi di caricamento dei moduli e creazione di thread.

  • Evento di caricamento completo, inviato quando il codice viene caricato e pronto per l'esecuzione, ma prima dell'esecuzione di qualsiasi codice.

    Nota

    Quando questo evento viene continuato, le variabili globali vengono inizializzate e le routine di avvio vengono eseguite.

  • Possibili altri eventi di caricamento dei moduli e creazione di thread.

  • Evento del punto di ingresso, che segnala che il programma ha raggiunto il punto di ingresso principale, ad esempio Main o WinMain. Questo evento non viene in genere inviato se il DE si collega a un programma già in esecuzione.

    A livello di codice, de invia prima il gestore di debug di sessione (SDM) un'interfaccia IDebugEngineCreateEvent2 , che rappresenta un evento di creazione del motore, seguito da un oggetto IDebugProgramCreateEvent2, che rappresenta un evento di creazione del programma.

    Questi eventi sono in genere seguiti da uno o più eventi di creazione di thread IDebugThreadCreateEvent2 e eventi di caricamento del modulo IDebugModuleLoadEvent2 .

    Quando il codice viene caricato e pronto per l'esecuzione, ma prima dell'esecuzione di qualsiasi codice, de invia il codice SDM un evento di completamento del caricamento IDebugLoadCompleteEvent2 . Infine, se il programma non è già in esecuzione, de invia un evento punto di ingresso IDebugEntryPointEvent2 , segnalando che il programma ha raggiunto il punto di ingresso principale ed è pronto per il debug.