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 |
---|---|---|
DE |
Rappresenta un punto di interruzione associati a una posizione di memoria. |
|
DE |
Inviato da DE quando un punto di interruzione verrà associato a una posizione di memoria. |
|
VS |
Rappresenta un checksum del documento per una richiesta del punto di interruzione. |
|
DE |
Inviato da DE quando un punto di interruzione non riesce a essere associato a una posizione di memoria. |
|
DE |
Inviato da DE quando viene raggiunto un punto di interruzione. |
|
VS |
rappresenta una richiesta di punto di interruzione; utilizzata nella creazione di un punto di interruzione in attesa. |
|
VS |
rappresenta una richiesta di punto di interruzione; utilizzata nella creazione di un punto di interruzione in attesa. |
|
DE |
Rappresenta le informazioni utilizzate per associare un punto di interruzione. |
|
DE |
Inviato da DE quando un punto di interruzione è separato da una posizione di memoria. |
|
DE |
rappresenta un punto di interruzione non valido (restituito da IDebugBreakpointErrorEvent2). |
|
DE |
Rappresenta le informazioni di risoluzione su un punto di interruzione non valido. |
|
DE |
Rappresenta un percorso in una funzione in cui viene impostato un punto di interruzione. |
|
DE |
Rappresenta un punto di interruzione che deve essere associato, utilizzata nella creazione di un punto di interruzione associato. |
|
DE |
Rappresenta un'enumerazione su un set di punti di interruzione associati. |
|
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 |
---|---|---|
DE |
rappresenta la posizione iniziale di un'istruzione di codice. |
|
DE |
Estende IDebugCodeContext2 l'interfaccia per consentire il recupero del modulo e interfacce gestite. |
|
VS, DE |
rappresenta una posizione in un documento. |
|
DE |
rappresenta il contesto in cui valutare un'espressione. |
|
DE |
Rappresenta la posizione iniziale in memoria di una raccolta di byte. |
|
DE |
Rappresenta un contesto dello stack frame a un punto di interruzione o a un'eccezione. |
|
DE |
Rappresenta un contesto dello stack frame a un punto di interruzione o a un'eccezione. |
|
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 |
---|---|---|
VS |
Fornisce l'accesso alle porte e i fornitori di porte nonché informazioni sul computer. |
|
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 |
---|---|---|
DE |
rappresenta un motore di debug personalizzato. |
|
DE |
Rappresenta un motore di debug personalizzato che supporta il caricamento dei simboli, di JustMyCode e delle eccezioni. |
|
DE |
Inviato da ogni nuova istanza di DE per indicare è pronto per gestire le attività di debug. |
|
DE |
Rappresenta un motore di debug personalizzato che supporta che iniziano i programmi. |
|
DE, PS |
rappresenta un nodo di programma che gestisce i motori di debug più. |
|
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 |
---|---|---|
DE |
Inviato da DE per richiedere un documento per essere aperte. |
|
DE |
Rappresenta un flusso delle istruzioni smontate da un documento. |
|
VS, DE |
Rappresenta un documento fornito da DE, specificando un nome e una classe PerID (CLSID). |
|
DE, EE |
Rappresenta un checksum per un documento di debug e di passare il checksum tra i componenti. |
|
VS, DE |
Rappresenta un contesto del documento, a una posizione in un documento che corrisponde a un particolare istruzione e il contesto di codice. |
|
VS, DE |
Rappresenta una posizione generale all'interno di un documento. |
|
VS |
Rappresenta una posizione in un file di origine come offset del carattere. |
|
VS, DE |
Rappresenta un documento di testo fornito da DE (derivata da IDebugDocument2), fornendo il testo effettivo. |
|
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 |
---|---|---|
DE |
Inviato da DE per richiedere un documento per essere aperte. |
|
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. |
|
DE |
Inviato da DE quando un per interrompere il programma è stato completato. |
|
DE |
Inviato da DE quando un punto di interruzione verrà associato. |
|
DE |
Inviato da DE quando un punto di interruzione non riesce a essere associato. |
|
DE |
Inviato da DE quando viene raggiunto un punto di interruzione. |
|
DE |
Inviato da DE quando un punto di interruzione viene separato. |
|
DE |
Inviato da DE per determinare se deve essere interrotta in una determinata posizione. |
|
DE |
Inviato da DE per specificare le modifiche in un file di origine presente in memoria. |
|
DE |
Inviato da ogni nuova istanza di DE per indicare è pronto per gestire le attività di debug. |
|
DE |
Inviato da DE per indicare il programma sottoposto a debug è pronta per eseguire la prima istruzione. |
|
DE |
Interfaccia utilizzata da altre interfacce eventi, che potrebbe restituire un errore, fornire messaggi di errore leggibili. |
|
DE, PS |
interfaccia di base da cui tutte le altre interfacce eventi sono derivate. |
|
VS |
Rappresenta un'interfaccia implementata da SDM a cui gli eventi (espressi come oggetti che implementano un'interfaccia eventi particolare) vengono inviati. |
|
DE |
Inviato da DE quando un'eccezione si è verificata nel programma sottoposto a debug. |
|
DE |
Inviato da DE quando una valutazione asincrona di espressione è completa. |
|
IDebugFindSymbolEvent2 |
|
OBSOLETO. NOT UTILIZZARE. |
DE |
Inviato da DE quando l'elaborazione per un'eccezione intercettata è stato completato. |
|
DE |
Inviato da DE quando un programma ha completato il caricamento. |
|
DE |
Inviato da DE per avere la visualizzazione dell'IDE un messaggio informativo all'utente. |
|
DE |
Inviato da DE quando un modulo viene caricato o scaricato. |
|
DE |
Segnala l'interfaccia utente del debugger di Visual Studio per avvertire l'utente che i simboli non potrebbero trovarsi nell'eseguibile avviato. |
|
DE |
Inviato da DE per avere la visualizzazione dell'IDE una stringa arbitraria. |
|
VS, DE |
Inviato da una porta per comunicare gli eventi di porta a ogni listener. |
|
DE, PS |
Inviato da DE o dalla porta quando un processo è stato creato. |
|
DE, PS |
Inviato da DE o dalla porta quando un processo è stato eliminato. |
|
DE, PS |
Inviato da DE o dalla porta quando un programma è stato creato. |
|
DE, PS |
Inviato da DE o dalla porta quando un programma è stato eliminato. |
|
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. |
|
DE |
Inviato dal motore (DE) di debug gestione (SDM) di debug della sessione quando il nome di un programma. |
|
DE |
Inviato da DE quando una nuova proprietà (rappresentato dall'interfaccia di IDebugProperty2 ) è stata creata. |
|
DE |
Inviato da DE quando una proprietà è stata eliminata. |
|
DE |
Inviato da DE quando avanzare da o su una funzione in modo che il valore restituito è in grado di visualizzare. |
|
VS |
Consente ai motori di debug per leggere le impostazioni metrica in modalità remota. |
|
DE |
Inviato da DE quando un passaggio in, in, o da un'istruzione è stato completato. |
|
DE |
Inviato da DE per indicare l'esito positivo o negativo di caricamento dei simboli per un modulo. |
|
DE |
Inviato da DE quando è stato creato un thread. |
|
DE |
Inviato da DE quando un thread è stato eliminato. |
|
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 |
---|---|---|
DE |
rappresenta un'espressione da valutare. Verificato IDebugExpressionContext2 dall'interfaccia. |
|
DE |
Rappresenta un contesto in cui un'espressione viene valutata. Verificato IDebugStackFrame2 dall'interfaccia. |
|
DE |
Inviato da DE quando una valutazione asincrona di espressione è completa. |
Memoria
Queste interfacce rappresentano sequenze di byte in memoria.
Interfaccia |
Implementato da |
Descrizione |
---|---|---|
DE |
Rappresenta una sequenza di byte in memoria che può essere letto o essere scritto su. |
|
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 |
---|---|---|
DE |
Rappresenta un singolo file eseguibile o DLL. |
|
DE |
Rappresenta IDebugModule2 un oggetto simboli di supportare. |
|
DE |
Inviato da DE quando un modulo viene caricato o scaricato. |
|
DE |
Rappresenta le informazioni del server di origine contenute in un file PDB. |
|
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 |
---|---|---|
VS, PS |
Rappresenta la porta predefinita nel computer locale. |
|
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. |
|
VS, PS |
rappresenta una porta. |
|
PS |
Inviato da una porta per comunicare gli eventi di porta a ogni listener. |
|
PS |
Rappresenta una porta che consente di avviare e interrompere i processi. |
|
PS |
Utilizzato per eseguire e annullare la registrazione dei programmi con una porta; è possibile accedere ai programmi di brano attualmente in corso di debug. |
|
PS |
rappresenta un'interfaccia utente personalizzata per selezionare la porta. |
|
VS |
Rappresenta una richiesta per una porta da cui una nuova porta verrà creata o trova. |
|
PS |
rappresenta un fornitore di porte. |
|
PS |
Rappresenta un fornitore di porte che possono persistere (salvataggio su disco informazioni sulle porte che ha creato. |
|
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 . |
|
VS |
Consente di eseguire query per ottenere informazioni sul computer di destinazione. |
|
VS, PS |
Rappresenta un'enumerazione su un set di porte. |
|
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 |
---|---|---|
PS, DE |
Rappresenta un processo in esecuzione su un computer. |
|
PS, DE |
Rappresenta un processo attivamente supporta il debug (utilizzato per sostituire il passaggio, continuare e metodi IDebugProgram2 Execute interfaccia). |
|
DE, PS |
Inviato da DE o dalla porta quando un processo è stato creato. |
|
DE, PS |
Inviato da DE o dalla porta quando un processo è stato eliminato. |
|
PS |
Rappresenta un processo che deve tenere traccia della sessione è associata a. |
|
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 |
---|---|---|
DE |
Rappresenta IDebugProgram2 un oggetto che deve essere eseguito di interagisce con altri programmi in corso il debug contemporaneamente. |
|
DE, PS |
Rappresenta un'unità logica di esecuzione. |
|
DE, PS |
Inviato da DE o dalla porta quando un programma è stato creato. |
|
DE, PS |
Inviato da DE o dalla porta quando un programma è stato eliminato. |
|
DE, PS |
Rappresenta IDebugProgramNode2 un oggetto che può essere gestito dai motori di debug più. |
|
PS |
Rappresenta IDebugProgram2 che deve essere in grado di tenere traccia della sessione è associata a. |
|
DE, PS |
Rappresenta IDebugProgram2 un oggetto che può restituire informazioni sul processo in cui è in esecuzione. |
|
DE, PS |
Rappresenta un programma che può essere eseguito il debug. |
|
DE, PS |
Consente un nodo di programma da parte di un tentativo di effettuare la connessione al programma associato. |
|
DE |
Fornisce una soluzione per lo SDM eseguire una query un DE sui programmi controllati da tale DE. |
|
VS |
Utilizzato dal DES per registrare i programmi con lo SDM per mostrare corso il debug. |
|
DE, PS |
Rappresenta IDebugProgramNode2 in grado di effettuare il marshalling delle interfacce tramite il thread o elabora i limiti. |
|
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 |
---|---|---|
EE |
Rappresenta IDebugProperty2 in cui è possibile visualizzare il relativo valore in modo personalizzato. |
|
DE |
Rappresenta un valore di uno stack frame, un documento, o del risultato della valutazione di un'espressione. |
|
DE |
Rappresenta arbitrariamente IDebugProperty2 un oggetto stringhe lunghe di supportare. |
|
DE |
Inviato da DE quando una nuova proprietà (rappresentato IDebugProperty2 dall'interfaccia è stata creata. |
|
DE |
Inviato da DE quando una proprietà è stata eliminata. |
|
DE |
Rappresenta un riferimento a una proprietà che può trovarsi all'esterno di tutti gli stack frame specifico. |
|
DE |
Rappresenta un'enumerazione su un insieme DEBUG_PROPERTY_INFORMATION di strutture che descrivono le variabili, registri, i parametri e le espressioni. |
|
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 |
---|---|---|
DE |
Rappresenta un contesto in cui un punto di interruzione o un'eccezione si è verificato. |
|
DE |
Rappresenta IDebugStackFrame2 un oggetto che può gestire le eccezioni rilevate. |
|
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. |
|
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 |
---|---|---|
DE |
Rappresenta un thread di esecuzione. |
|
DE |
Inviato da DE quando è stato creato un thread. |
|
DE |
Inviato da DE quando un thread è stato eliminato. |
|
DE |
Inviato da DE quando un thread ha modificato il nome. |
|
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 |
---|---|---|
EE |
Rappresenta una matrice di byte da presentare a un visualizzatore del tipo. |
|
EE |
Fornisce metodi per ottenere l'accesso ai dati per essere passato a un visualizzatore del tipo. |
|
EE |
Rappresenta una proprietà che fornisce l'accesso IPropertyProxyEESide alle implementazioni di. |
Vedere anche
Riferimenti
Riferimento dell'API di debug di Visual Studio)