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.
Un motore di debug (DE) deve supportare l'impostazione dei punti di interruzione. Il debug di Visual Studio supporta i tipi di punti di interruzione seguenti:
Vincolo
Richiesto tramite l'interfaccia utente e associato correttamente a un percorso di codice specificato
In sospeso
Richiesta tramite l'interfaccia utente ma non ancora associata alle istruzioni effettive
Discussione
Ad esempio, un punto di interruzione in sospeso si verifica quando le istruzioni non vengono ancora caricate. Quando il codice viene caricato, i punti di interruzione in sospeso tentano di associarsi al codice nella posizione prestabilita, cioè di inserire le istruzioni di interruzione nel codice. Gli eventi vengono inviati al gestore di debug della sessione (SDM) per indicare l'associazione riuscita o per notificare che si sono verificati errori di associazione.
Un punto di interruzione in sospeso gestisce anche il proprio elenco interno dei punti di interruzione associati corrispondenti. Un punto di interruzione in sospeso può causare l'inserimento di molti punti di interruzione nel codice. L'interfaccia utente di debug di Visual Studio mostra una vista ad albero dei punti di interruzione in sospeso e dei relativi punti di interruzione vincolati.
La creazione e l'uso di punti di interruzione in sospeso richiedono l'implementazione del metodo IDebugEngine2::CreatePendingBreakpoint , nonché i metodi seguenti delle interfacce IDebugPendingBreakpoint2 .
| Metodo | Description |
|---|---|
| CanBind | Determina se un punto di interruzione in sospeso specificato può essere associato a una posizione del codice. |
| Associare | Associa un punto di interruzione in sospeso specificato a una o più posizioni di codice. |
| GetState | Ottiene lo stato di un punto di interruzione in attesa. |
| GetBreakpointRequest | Ottiene la richiesta di punto di interruzione utilizzata per generare un punto di interruzione in sospeso. |
| Abilitare | Attiva/disattiva lo stato abilitato di un punto di interruzione in sospeso. |
| EnumBoundBreakpoints | Enumera tutti i punti di interruzione vincolati da un punto di interruzione pendente. |
| EnumErrorBreakpoints | Enumera tutti i punti di interruzione per errore risultanti da un punto di interruzione in attesa. |
| Elimina | Elimina un punto di interruzione in sospeso e tutti i punti di interruzione derivanti da esso. |
Per enumerare i punti di interruzione associati e i punti di interruzione degli errori, è necessario implementare tutti i metodi di IEnumDebugBoundBreakpoints2 e IEnumDebugErrorBreakpoints2.
I punti di interruzione in sospeso che si associano a una posizione del codice richiedono l'implementazione dei metodi IDebugBoundBreakpoint2 seguenti.
| Metodo | Description |
|---|---|
| GetPendingBreakpoint | Ottiene il punto di interruzione in sospeso che contiene un punto di interruzione. |
| GetState | Ottiene lo stato di un punto di interruzione associato. |
| GetBreakpointResolution | Ottiene la risoluzione del punto di interruzione che descrive un punto di interruzione. |
| Abilitare | Abilita o disabilita un punto di interruzione. |
| Elimina | Elimina un punto di interruzione associato. |
Le informazioni sulla risoluzione e sulla richiesta richiedono l'implementazione dei metodi IDebugBreakpointResolution2 seguenti.
| Metodo | Description |
|---|---|
| GetBreakpointType | Ottiene il tipo del punto di interruzione rappresentato da una risoluzione. |
| GetResolutionInfo | Ottiene le informazioni sulla risoluzione dei punti di interruzione che descrivono un punto di interruzione. |
La risoluzione degli errori che possono verificarsi durante l'associazione richiede l'implementazione dei metodi IDebugErrorBreakpoint2 seguenti.
| Metodo | Description |
|---|---|
| GetPendingBreakpoint | Ottiene il punto di interruzione in sospeso che contiene un punto di interruzione con errore. |
| GetBreakpointResolution | Ottiene la risoluzione degli errori del punto di interruzione che descrive un punto di interruzione dell'errore. |
La risoluzione degli errori che possono verificarsi durante l'associazione richiede anche i metodi seguenti di IDebugErrorBreakpointResolution2.
| Metodo | Description |
|---|---|
| GetBreakpointType | Ottiene il tipo di un punto di interruzione. |
| GetResolutionInfo | Ottiene le informazioni sulla risoluzione di un punto di interruzione. |
Per visualizzare il codice sorgente in un punto di interruzione è necessario implementare i metodi di IDebugStackFrame2::GetDocumentContext e/o i metodi di IDebugStackFrame2::GetCodeContext.