Condividi tramite


I componenti del debugger

Il debugger di Visual Studio viene implementato come VSPackage e gestisce l'intera sessione di debug. La sessione di debug include i seguenti elementi:

  • pacchetto di Debug: Il debugger di Visual Studio fornisce la stessa interfaccia utente qualsiasi cosa sta eseguendo il debug.

  • Amministratore (SDM) di debug della sessione: Fornisce un'interfaccia di programmazione coerente al debugger di Visual Studio per la gestione dei vari motori di debug. Viene implementata da Visual Studio.

  • Amministratore (PDM) del processo di debug: Gestisce, per tutte le istanze in esecuzione di Visual Studio, un elenco di tutti i programmi che possono essere o che il debug. Viene implementata da Visual Studio.

  • motore di debug (DE): È responsabile di monitorare un programma sottoposto a debug, specificando lo stato del programma in esecuzione a SDM e al PDM e interazione con l'analizzatore di espressioni e il provider dei simboli per fornire un'analisi in tempo reale dello stato della memoria e variabili di un programma. Viene implementata da Visual Studio (per i linguaggi che supporta) e da fornitori di terze parti che desiderano supportare il proprio runtime.

  • analizzatore di espressioni (EE): Fornisce il supporto per le variabili e le espressioni in modo dinamico di valutazione fornite dall'utente quando un programma è stato interrotto a un punto specifico. Viene implementata da Visual Studio (per i linguaggi che supporta) e da fornitori di terze parti che desiderano supportare i propri linguaggi.

  • Provider (SP) del simbolo: Anche detta gestore dei simboli, i simboli di debug di un programma a un'istanza in esecuzione del programma in modo che possa fornire informazioni significative ad esempio di debug e di valutazione livelli dell'origine dell'espressione). Viene implementata da Visual Studio (per i simboli di Common Language Runtime CLR [] e il formato di file di simboli del database di programma (PDB)] e fornitori di terze parti che dispongono di un proprio metodo privato di archiviare le informazioni di debug.

Nel diagramma seguente viene illustrata la relazione tra questi elementi del debugger di Visual Studio.

Panoramica dei componenti del debug

Argomenti della sezione

  • pacchetto di Debug
    Viene descritto il pacchetto di debug, che viene eseguita in Visual Studio sgusciano e gestire un'interfaccia utente.

  • Amministratore del processo di Debug
    Vengono forniti cenni preliminari sulle funzionalità di PDM, ovvero gestione dei processi che è possibile eseguire il debug.

  • Amministratore di Debug della sessione
    Definisce lo SDM, che fornisce una visualizzazione unificata della sessione di debug all'IDE. Lo SDM gestisce il DE.

  • motore di debug
    Vengono illustrati i servizi di debug che il DE v5.0.

  • modalità operative
    Viene fornita una panoramica delle tre modalità in cui l'ide possa funzionare: modalità progettazione, modalità di esecuzione e modalità di interruzione. I meccanismi di transizione vengono illustrati.

  • analizzatore di espressioni
    Viene illustrato lo scopo dell'EE in fase di esecuzione.

  • Provider dei simboli
    Viene illustrato come, all'implementazione, il provider del simbolo di valuta le variabili ed espressioni.

  • Visualizzatore del tipo e il visualizzatore personalizzate
    Viene spiegato cosa un visualizzatore di tipo e un visualizzatore personalizzate sono e il ruolo l'analizzatore di espressioni fornisce il supporto di entrambi.

Sezioni correlate

  • Concetti del debugger
    Vengono descritti i concetti di architettura di debug principali.

  • Contesti del debugger
    Viene illustrato come il DE lavora contemporaneamente all'interno del codice, la documentazione e i contesti di valutazione di espressioni. Viene descritto, per ciascuno dei tre contesti, la posizione, al percorso, o di valutazione relativa a.

  • Attività di debug
    Vengono forniti collegamenti alle varie attività di debug, come avviare un programma e valutazione delle espressioni.

Vedere anche

Altre risorse

Introduzione all'estensibilità del debugger