Condividi tramite


interfacce principali

Le interfacce seguenti sono le interfacce principali per il debugger l'estensione utilizzando Visual Studio SDK.

Descrizione

Queste interfacce sono utilizzate principalmente per creare il motore di (DE) debug. Sono organizzati in base alle categorie:

  • Punti di interruzione

  • contesti

  • server principale

  • I motori di debug

  • Documenti

  • Eventi

  • espressioni

  • Memoria

  • Moduli

  • porte

  • Processi

  • Programmi

  • Proprietà

  • Stack frame

  • Thread

  • Visualizzatori di tipi

Le entità che possono implementare interfacce sono:

  • motore di debug (DE)

  • fornitore di porte (PS)

  • analizzatore di espressioni (EE)

  • Visual Studio (VS)

Punti di interruzione

Queste interfacce sono correlate all'implementazione e la verifica dei punti di interruzione.

Interfaccia

Implementato da

Descrizione

IDebugBoundBreakpoint2

DE

Rappresenta un punto di interruzione associati a una posizione di memoria.

IDebugBreakpointBoundEvent2

DE

Inviato da DE quando un punto di interruzione verrà associato a una posizione di memoria.

IDebugBreakpointChecksumRequest2

VS

Rappresenta un checksum del documento per una richiesta del punto di interruzione.

IDebugBreakpointErrorEvent2

DE

Inviato da DE quando un punto di interruzione non riesce a essere associato a una posizione di memoria.

IDebugBreakpointEvent2

DE

Inviato da DE quando viene raggiunto un punto di interruzione.

IDebugBreakpointRequest2

VS

rappresenta una richiesta di punto di interruzione; utilizzata nella creazione di un punto di interruzione in attesa.

IDebugBreakpointRequest3

VS

rappresenta una richiesta di punto di interruzione; utilizzata nella creazione di un punto di interruzione in attesa.

IDebugBreakpointResolution2

DE

Rappresenta le informazioni utilizzate per associare un punto di interruzione.

IDebugBreakpointUnboundEvent2

DE

Inviato da DE quando un punto di interruzione è separato da una posizione di memoria.

IDebugErrorBreakpoint2

DE

rappresenta un punto di interruzione non valido (restituito da IDebugBreakpointErrorEvent2).

IDebugErrorBreakpointResolution2

DE

Rappresenta le informazioni di risoluzione su un punto di interruzione non valido.

IDebugFunctionPosition2

DE

Rappresenta un percorso in una funzione in cui viene impostato un punto di interruzione.

IDebugPendingBreakpoint2

DE

Rappresenta un punto di interruzione che deve essere associato, utilizzata nella creazione di un punto di interruzione associato.

IEnumDebugBoundBreakpoints2

DE

Rappresenta un'enumerazione su un set di punti di interruzione associati.

IEnumDebugErrorBreakpoints2

DE

Rappresenta un'enumerazione su un set di punti di interruzione che potrebbero non essere associati a una posizione di memoria.

contesti

Queste interfacce rappresentano i vari tipi di contesti nel programma sottoposto a debug.

Interfaccia

Implementato da

Descrizione

IDebugCodeContext2

DE

rappresenta la posizione iniziale di un'istruzione di codice.

IDebugCodeContext3

DE

Estende IDebugCodeContext2 l'interfaccia per consentire il recupero del modulo e interfacce gestite.

IDebugDocumentContext2

VS, DE

rappresenta una posizione in un documento.

IDebugExpressionContext2

DE

rappresenta il contesto in cui valutare un'espressione.

IDebugMemoryContext2

DE

Rappresenta la posizione iniziale in memoria di una raccolta di byte.

IDebugStackFrame2

DE

Rappresenta un contesto dello stack frame a un punto di interruzione o a un'eccezione.

IDebugStackFrame3

DE

Rappresenta un contesto dello stack frame a un punto di interruzione o a un'eccezione.

IEnumDebugCodeContexts2

DE

Rappresenta un'enumerazione su un set di contesti di codice.

server principale

Queste interfacce rappresentano il computer in cui un programma sta eseguendo il debug. Questi sono implementati da Visual Studio ma possono essere chiamati nei motori di debug.

Interfaccia

Implementato da

Descrizione

IDebugCoreServer2

VS

Fornisce l'accesso alle porte e i fornitori di porte nonché informazioni sul computer.

IDebugCoreServer3

VS

Rappresenta IDebugCoreServer2 un oggetto debug remoto di supportare.

I motori di debug

Queste interfacce rappresentano i motori di debug e i relativi eventi associati.

Interfaccia

Implementato da

Descrizione

IDebugEngine2

DE

rappresenta un motore di debug personalizzato.

IDebugEngine3

DE

Rappresenta un motore di debug personalizzato che supporta il caricamento dei simboli, di JustMyCode e delle eccezioni.

IDebugEngineCreateEvent2

DE

Inviato da ogni nuova istanza di DE per indicare è pronto per gestire le attività di debug.

IDebugEngineLaunch2

DE

Rappresenta un motore di debug personalizzato che supporta che iniziano i programmi.

IDebugProgramEngines2

DE, PS

rappresenta un nodo di programma che gestisce i motori di debug più.

IDebugQueryEngine2

DE

Fornisce una soluzione per lo SDM di ottenere un'interfaccia al motore di debug da un thread, da un programma, uno stack frame.

Documenti

Queste interfacce rappresentano i documenti (file di origine) e i relativi elementi associati.

Interfaccia

Implementato da

Descrizione

IDebugActivateDocumentEvent2

DE

Inviato da DE per richiedere un documento per essere aperte.

IDebugDisassemblyStream2

DE

Rappresenta un flusso delle istruzioni smontate da un documento.

IDebugDocument2

VS, DE

Rappresenta un documento fornito da DE, specificando un nome e una classe PerID (CLSID).

IDebugDocumentChecksum2

DE, EE

Rappresenta un checksum per un documento di debug e di passare il checksum tra i componenti.

IDebugDocumentContext2

VS, DE

Rappresenta un contesto del documento, a una posizione in un documento che corrisponde a un particolare istruzione e il contesto di codice.

IDebugDocumentPosition2

VS, DE

Rappresenta una posizione generale all'interno di un documento.

IDebugDocumentPositionOffset2

VS

Rappresenta una posizione in un file di origine come offset del carattere.

IDebugDocumentText2

VS, DE

Rappresenta un documento di testo fornito da DE (derivata da IDebugDocument2), fornendo il testo effettivo.

IDebugDocumentTextEvents2

DE

Inviato da DE per specificare le modifiche in un file di origine presente in memoria.

Eventi

Queste interfacce rappresentano tutti gli eventi inviati tra il DE e l'amministratore (SDM) di debug della sessione.

Interfaccia

Implementato da

Descrizione

IDebugActivateDocumentEvent2

DE

Inviato da DE per richiedere un documento per essere aperte.

IDebugBeforeSymbolSearchEvent2

DE

Il motore (DE) di debug invia questa interfaccia gestione (SDM) di debug della sessione per impostare il messaggio della barra di stato durante il caricamento dei simboli.

IDebugBreakEvent2

DE

Inviato da DE quando un per interrompere il programma è stato completato.

IDebugBreakpointBoundEvent2

DE

Inviato da DE quando un punto di interruzione verrà associato.

IDebugBreakpointErrorEvent2

DE

Inviato da DE quando un punto di interruzione non riesce a essere associato.

IDebugBreakpointEvent2

DE

Inviato da DE quando viene raggiunto un punto di interruzione.

IDebugBreakpointUnboundEvent2

DE

Inviato da DE quando un punto di interruzione viene separato.

IDebugCanStopEvent2

DE

Inviato da DE per determinare se deve essere interrotta in una determinata posizione.

IDebugDocumentTextEvents2

DE

Inviato da DE per specificare le modifiche in un file di origine presente in memoria.

IDebugEngineCreateEvent2

DE

Inviato da ogni nuova istanza di DE per indicare è pronto per gestire le attività di debug.

IDebugEntryPointEvent2

DE

Inviato da DE per indicare il programma sottoposto a debug è pronta per eseguire la prima istruzione.

IDebugErrorEvent2

DE

Interfaccia utilizzata da altre interfacce eventi, che potrebbe restituire un errore, fornire messaggi di errore leggibili.

IDebugEvent2

DE, PS

interfaccia di base da cui tutte le altre interfacce eventi sono derivate.

IDebugEventCallback2

VS

Rappresenta un'interfaccia implementata da SDM a cui gli eventi (espressi come oggetti che implementano un'interfaccia eventi particolare) vengono inviati.

IDebugExceptionEvent2

DE

Inviato da DE quando un'eccezione si è verificata nel programma sottoposto a debug.

IDebugExpressionEvaluationCompleteEvent2

DE

Inviato da DE quando una valutazione asincrona di espressione è completa.

IDebugFindSymbolEvent2

 

OBSOLETO. NOT UTILIZZARE.

IDebugInterceptExceptionCompleteEvent2

DE

Inviato da DE quando l'elaborazione per un'eccezione intercettata è stato completato.

IDebugLoadCompleteEvent2

DE

Inviato da DE quando un programma ha completato il caricamento.

IDebugMessageEvent2

DE

Inviato da DE per avere la visualizzazione dell'IDE un messaggio informativo all'utente.

IDebugModuleLoadEvent2

DE

Inviato da DE quando un modulo viene caricato o scaricato.

IDebugNoSymbolsEvent2

DE

Segnala l'interfaccia utente del debugger di Visual Studio per avvertire l'utente che i simboli non potrebbero trovarsi nell'eseguibile avviato.

IDebugOutputStringEvent2

DE

Inviato da DE per avere la visualizzazione dell'IDE una stringa arbitraria.

IDebugPortEvents2

VS, DE

Inviato da una porta per comunicare gli eventi di porta a ogni listener.

IDebugProcessCreateEvent2

DE, PS

Inviato da DE o dalla porta quando un processo è stato creato.

IDebugProcessDestroyEvent2

DE, PS

Inviato da DE o dalla porta quando un processo è stato eliminato.

IDebugProgramCreateEvent2

DE, PS

Inviato da DE o dalla porta quando un programma è stato creato.

IDebugProgramDestroyEvent2

DE, PS

Inviato da DE o dalla porta quando un programma è stato eliminato.

IDebugProgramDestroyEventFlags2

DE

Consente a un modulo di debug per eseguire l'override del comportamento predefinito dell' interfaccia utente di Visual Studioal termine di una sessione di debug.

IDebugProgramNameChangedEvent2

DE

Inviato dal motore (DE) di debug gestione (SDM) di debug della sessione quando il nome di un programma.

IDebugPropertyCreateEvent2

DE

Inviato da DE quando una nuova proprietà (rappresentato dall'interfaccia di IDebugProperty2 ) è stata creata.

IDebugPropertyDestroyEvent2

DE

Inviato da DE quando una proprietà è stata eliminata.

IDebugReturnValueEvent2

DE

Inviato da DE quando avanzare da o su una funzione in modo che il valore restituito è in grado di visualizzare.

IDebugSettingsCallback2

VS

Consente ai motori di debug per leggere le impostazioni metrica in modalità remota.

IDebugStepCompleteEvent2

DE

Inviato da DE quando un passaggio in, in, o da un'istruzione è stato completato.

IDebugSymbolSearchEvent2

DE

Inviato da DE per indicare l'esito positivo o negativo di caricamento dei simboli per un modulo.

IDebugThreadCreateEvent2

DE

Inviato da DE quando è stato creato un thread.

IDebugThreadDestroyEvent2

DE

Inviato da DE quando un thread è stato eliminato.

IDebugThreadNameChangedEvent2

DE

Inviato da DE quando un thread ha modificato il nome.

espressioni

Queste interfacce rappresentano le espressioni da valutare in un contesto specifico.

Interfaccia

Implementato da

Descrizione

IDebugExpression2

DE

rappresenta un'espressione da valutare. Verificato IDebugExpressionContext2 dall'interfaccia.

IDebugExpressionContext2

DE

Rappresenta un contesto in cui un'espressione viene valutata. Verificato IDebugStackFrame2 dall'interfaccia.

IDebugExpressionEvaluationCompleteEvent2

DE

Inviato da DE quando una valutazione asincrona di espressione è completa.

Memoria

Queste interfacce rappresentano sequenze di byte in memoria.

Interfaccia

Implementato da

Descrizione

IDebugMemoryBytes2

DE

Rappresenta una sequenza di byte in memoria che può essere letto o essere scritto su.

IDebugMemoryContext2

DE

rappresenta una posizione in memoria di una sequenza di byte.

Moduli

Queste interfacce rappresentano un modulo, che corrisponde a un eseguibile o al file DLL.

Interfaccia

Implementato da

Descrizione

IDebugModule2

DE

Rappresenta un singolo file eseguibile o DLL.

IDebugModule3

DE

Rappresenta IDebugModule2 un oggetto simboli di supportare.

IDebugModuleLoadEvent2

DE

Inviato da DE quando un modulo viene caricato o scaricato.

IDebugSourceServerModule

DE

Rappresenta le informazioni del server di origine contenute in un file PDB.

IEnumDebugModules2

DE

Rappresenta un'enumerazione su un set di moduli ritenuti da IDebugProgram2.

porte

Queste interfacce rappresentano le porte e i fornitori di porte.

Interfaccia

Implementato da

Descrizione

IDebugDefaultPort2

VS, PS

Rappresenta la porta predefinita nel computer locale.

IDebugFirewallConfigurationCallback2

VS

Abilita il modulo di debug che utilizza DCOM per chiedere all'interfaccia utente di Visual Studio per assicurarsi che il firewall non bloccare il debug remoto.

IDebugPort2

VS, PS

rappresenta una porta.

IDebugPortEvents2

PS

Inviato da una porta per comunicare gli eventi di porta a ogni listener.

IDebugPortEx2

PS

Rappresenta una porta che consente di avviare e interrompere i processi.

IDebugPortNotify2

PS

Utilizzato per eseguire e annullare la registrazione dei programmi con una porta; è possibile accedere ai programmi di brano attualmente in corso di debug.

IDebugPortPicker

PS

rappresenta un'interfaccia utente personalizzata per selezionare la porta.

IDebugPortRequest2

VS

Rappresenta una richiesta per una porta da cui una nuova porta verrà creata o trova.

IDebugPortSupplier2

PS

rappresenta un fornitore di porte.

IDebugPortSupplier3

PS

Rappresenta un fornitore di porte che possono persistere (salvataggio su disco informazioni sulle porte che ha creato.

IDebugPortSupplierDescription2

PS

Consente all'interfaccia utente di Visual Studio per visualizzare il testo nella sezione di informazioni di trasporto della finestra di dialogo di Connettersi da elaborare .

IDebugWindowsComputerPort2

VS

Consente di eseguire query per ottenere informazioni sul computer di destinazione.

IEnumDebugPorts2

VS, PS

Rappresenta un'enumerazione su un set di porte.

IEnumDebugPortSuppliers2

VS

Rappresenta un'enumerazione su un set di fornitori di porte.

Processi

Queste interfacce rappresentano i processi, un singolo file eseguibile che contiene uno o più programmi.

Interfaccia

Implementato da

Descrizione

IDebugProcess2

PS, DE

Rappresenta un processo in esecuzione su un computer.

IDebugProcess3

PS, DE

Rappresenta un processo attivamente supporta il debug (utilizzato per sostituire il passaggio, continuare e metodi IDebugProgram2 Execute interfaccia).

IDebugProcessCreateEvent2

DE, PS

Inviato da DE o dalla porta quando un processo è stato creato.

IDebugProcessDestroyEvent2

DE, PS

Inviato da DE o dalla porta quando un processo è stato eliminato.

IDebugProcessEx2

PS

Rappresenta un processo che deve tenere traccia della sessione è associata a.

IEnumDebugProcesses2

PS

rappresenta un'enumerazione di un set di processi su una porta.

Programmi

Queste interfacce rappresentano i programmi, unità logiche di esecuzione che non corrispondono a un eseguibile o a un modulo fisico.

Interfaccia

Implementato da

Descrizione

IDebugEngineProgram2

DE

Rappresenta IDebugProgram2 un oggetto che deve essere eseguito di interagisce con altri programmi in corso il debug contemporaneamente.

IDebugProgram2

DE, PS

Rappresenta un'unità logica di esecuzione.

IDebugProgramCreateEvent2

DE, PS

Inviato da DE o dalla porta quando un programma è stato creato.

IDebugProgramDestroyEvent2

DE, PS

Inviato da DE o dalla porta quando un programma è stato eliminato.

IDebugProgramEngines2

DE, PS

Rappresenta IDebugProgramNode2 un oggetto che può essere gestito dai motori di debug più.

IDebugProgramEx2

PS

Rappresenta IDebugProgram2 che deve essere in grado di tenere traccia della sessione è associata a.

IDebugProgramHost2

DE, PS

Rappresenta IDebugProgram2 un oggetto che può restituire informazioni sul processo in cui è in esecuzione.

IDebugProgramNode2

DE, PS

Rappresenta un programma che può essere eseguito il debug.

IDebugProgramNodeAttach2

DE, PS

Consente un nodo di programma da parte di un tentativo di effettuare la connessione al programma associato.

IDebugProgramProvider2

DE

Fornisce una soluzione per lo SDM eseguire una query un DE sui programmi controllati da tale DE.

IDebugProgramPublisher2

VS

Utilizzato dal DES per registrare i programmi con lo SDM per mostrare corso il debug.

IDebugProviderProgramNode2

DE, PS

Rappresenta IDebugProgramNode2 in grado di effettuare il marshalling delle interfacce tramite il thread o elabora i limiti.

IEnumDebugPrograms2

DE, PS

rappresenta un'enumerazione di un set di programmi.

Proprietà

Queste interfacce rappresentano le proprietà, un valore associato a un contesto specifico, in genere il risultato della valutazione di un'espressione.

Interfaccia

Implementato da

Descrizione

IDebugCustomViewer

EE

Rappresenta IDebugProperty2 in cui è possibile visualizzare il relativo valore in modo personalizzato.

IDebugProperty2

DE

Rappresenta un valore di uno stack frame, un documento, o del risultato della valutazione di un'espressione.

IDebugProperty3

DE

Rappresenta arbitrariamente IDebugProperty2 un oggetto stringhe lunghe di supportare.

IDebugPropertyCreateEvent2

DE

Inviato da DE quando una nuova proprietà (rappresentato IDebugProperty2 dall'interfaccia è stata creata.

IDebugPropertyDestroyEvent2

DE

Inviato da DE quando una proprietà è stata eliminata.

IDebugReference2

DE

Rappresenta un riferimento a una proprietà che può trovarsi all'esterno di tutti gli stack frame specifico.

IEnumDebugPropertyInfo2

DE

Rappresenta un'enumerazione su un insieme DEBUG_PROPERTY_INFORMATION di strutture che descrivono le variabili, registri, i parametri e le espressioni.

IEnumDebugReferenceInfo2

DE

Rappresenta un'enumerazione su un insieme DEBUG_REFERENCE_INFORMATION di strutture.

Stack frame

Queste interfacce rappresentano uno stack frame, un contesto in cui un punto di interruzione o un'eccezione si è verificato.

Interfaccia

Implementato da

Descrizione

IDebugStackFrame2

DE

Rappresenta un contesto in cui un punto di interruzione o un'eccezione si è verificato.

IDebugStackFrame3

DE

Rappresenta IDebugStackFrame2 un oggetto che può gestire le eccezioni rilevate.

IEnumCodePaths2

DE

Rappresenta un'enumerazione sul set di strutture CODE_PATH che specificano la sequenza di chiamata di funzione utilizzata per ricevere a uno stack frame specifico.

IEnumDebugFrameInfo2

DE

Rappresenta un'enumerazione su un insieme FRAMEINFO di strutture, che descrivono gli stack frame.

Thread

Queste interfacce rappresentano i thread e gli eventi associati.

Interfaccia

Implementato da

Descrizione

IDebugThread2

DE

Rappresenta un thread di esecuzione.

IDebugThreadCreateEvent2

DE

Inviato da DE quando è stato creato un thread.

IDebugThreadDestroyEvent2

DE

Inviato da DE quando un thread è stato eliminato.

IDebugThreadNameChangedEvent2

DE

Inviato da DE quando un thread ha modificato il nome.

IEnumDebugThreads2

DE

Rappresenta un'enumerazione su un set di thread.

Visualizzatori di tipi

Queste interfacce forniscono il supporto per i visualizzatori di tipi. Queste interfacce sono normalmente implementate da un analizzatore di espressioni.

Interfaccia

Implementato da

Descrizione

IEEDataStorage

EE

Rappresenta una matrice di byte da presentare a un visualizzatore del tipo.

IPropertyProxyEESide

EE

Fornisce metodi per ottenere l'accesso ai dati per essere passato a un visualizzatore del tipo.

IPropertyProxyProvider

EE

Rappresenta una proprietà che fornisce l'accesso IPropertyProxyEESide alle implementazioni di.

Vedere anche

Riferimenti

Riferimento dell'API di debug di Visual Studio)

Altre risorse

creare un motore di debug personalizzato