Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
L'API di debug di Common Language Runtime consente ai fornitori di strumenti di scrivere debugger per il debug di applicazioni in esecuzione nell'ambiente CLR. Il codice di cui eseguire il debug può essere di qualsiasi tipo supportato da CLR.
L'API di debug di CLR viene implementata principalmente con codice non gestito. Pertanto, viene presentata come un set di interfacce COM. L'API è costituita da un insieme di oggetti e di interfacce COM implementato da CLR e da un insieme di interfacce di callback COM che devono essere implementate dal debugger. Dal momento che queste interfacce di debug sono tutte basate su COM, i programmi del debugger possono essere estesi facilmente per abilitare il debug remoto utilizzando DCOM.
Categorie di API
L'API di debug include i tre gruppi di interfacce seguenti, tutti utilizzati da un debugger CLR e tutti implementati come codice non gestito:
Interfacce che supportano il debug delle applicazioni CLR.
Interfacce che forniscono accesso a informazioni di debug sui simboli, in genere archiviate nei file del database di programma (PDB).
Interfacce che supportano le query dei processi e dei domini dell'applicazione di un computer.
L'API di debug si basa su due set aggiuntivi di interfacce:
API dei metadati per gestire la verifica delle informazioni statiche del programma, ad esempio le informazioni sulle classi e sul tipo di metodo.
API di archiviazione dei simboli per supportare il debug a livello di origine per i debugger del codice gestito.
Le interfacce di debug, inoltre, possono essere organizzate nelle categorie funzionali mostrate nella tabella riportata di seguito.
Categoria API |
Descrizione |
|---|---|
Registrazione |
Interfacce che il debugger chiama per registrarsi con CLR e richiedere notifica quando si verificano eventi specifici. |
Notification |
Interfacce di callback utilizzate da CLR per notificare al debugger i vari eventi e restituire le informazioni richieste. Queste interfacce devono essere implementate dal debugger. |
Punto di interruzione |
Interfacce che il debugger chiama per recuperare informazioni sui punti di interruzione. |
Esecuzione |
Interfacce che il debugger chiama per controllare l'esecuzione dell'oggetto del debug e accedere agli stack di chiamate. |
Informazioni |
Interfacce che il debugger chiama per ottenere informazioni sull'oggetto del debug. |
Enumerazione |
Interfacce che il debugger chiama per enumerare gli oggetti. |
Ultima modifica |
Interfacce che il debugger chiama per modificare il codice del quale si sta eseguendo il debug. |
Ambienti supportati
Le funzionalità di debug di CLR sono disponibili su tutti i processori e i sistemi operativi supportati da CLR, con le seguenti eccezioni:
Il debug Modifica e continuazione e in modalità mista non sono supportati sui sistemi operativi a 64 bit. I metodi SetIP (ICorDebugILFrame::SetIP e ICorDebugNativeFrame::SetIP) presentano restrizioni aggiuntive sui sistemi operativi a 64 bit. Le altre funzionalità sono equivalenti in tutti i processori e consentono rappresentazioni dei dati (dimensioni del puntatore, contesti del registro e così via) specifiche del processore.
Il debug Modifica e continuazione e in modalità mista non sono supportati sui sistemi operativi basati su Win9x. Con alcune eccezioni specifiche, indicate nella documentazione delle singole funzioni, la restante funzionalità dovrebbe essere equivalente su tutti i sistemi operativi.