metodi Punto di interruzione-Correlati
Il modulo (DE) di debug deve supportare l'impostazione dei punti di interruzione. il debug di Visual Studio supporta i seguenti tipi di punti di interruzione:
Modalità associata
Obbligatorio con l'interfaccia utente e correttamente associato a una posizione specificata di codice
in corso
Obbligatorio con l'interfaccia utente ma non ancora associato alle effettive istruzioni
Descrizione
Ad esempio, di un punto di interruzione in attesa si verifica quando le istruzioni non sono ancora caricate. Quando il codice viene caricato, in attesa dei punti di interruzione provare a eseguire l'associazione al codice nella posizione prescritta, ovvero, alle istruzioni break inserire nel codice. Gli eventi vengono inviati al gestore di debug della sessione (SDM) per indicare l'esito positivo dell'associazione o per informare che si siano verificati errori obbligatori.
Di un punto di interruzione in attesa gestisce inoltre il proprio elenco interno dei punti di interruzione associati corrispondenti. Uno in attesa del punto di interruzione può causare l'inserimento di molti punti di interruzione nel codice. L'interfaccia utente di debug di Visual Studio mostrata una visualizzazione struttura ad albero dei punti di interruzione corrente e dei relativi punti di interruzione associati corrispondenti.
La creazione e l'utilizzo dei punti di interruzione in corso richiedono l'implementazione del metodo di IDebugEngine2:: CreatePendingBreakpoint nonché dei seguenti metodi delle interfacce di IDebugPendingBreakpoint2 .
Metodo |
Descrizione |
---|---|
Determina se specificato in attesa del punto di interruzione può essere associato a un percorso di codice. |
|
Associa specificato in attesa del punto di interruzione a uno o più percorsi di codice. |
|
Ottiene lo stato di un punto di interruzione in attesa. |
|
Ottiene la richiesta del punto di interruzione utilizzata per creare un punto di interruzione in attesa. |
|
Alternare lo stato attivato di un punto di interruzione in attesa. |
|
Enumera i punti di interruzione limitano da un punto di interruzione in attesa. |
|
Enumera i punti di interruzione di errori risultanti da un punto di interruzione in attesa. |
|
Eliminazione di un punto di interruzione in attesa e tutti i punti di interruzione limitano da. |
Per enumerare i punti di interruzione associati e i punti di interruzione di errori, è necessario implementare tutti i metodi di IEnumDebugBoundBreakpoints2 e di IEnumDebugErrorBreakpoints2.
In attesa dei punti di interruzione che associano a un percorso di codice richiedono l'implementazione dei metodi di IDebugBoundBreakpoint2 .
Metodo |
Descrizione |
---|---|
Ottiene il punto di interruzione in attesa che contiene un punto di interruzione. |
|
Ottiene lo stato di un punto di interruzione associato. |
|
Ottiene la risoluzione del punto di interruzione che descrive un punto di interruzione. |
|
abilita o disabilita un punto di interruzione. |
|
Elimina un punto di interruzione associato. |
Le informazioni di richiesta e di risoluzione richiedono l'implementazione dei metodi di IDebugBreakpointResolution2 .
Metodo |
Descrizione |
---|---|
Ottiene il tipo del punto di interruzione rappresentato da una risoluzione. |
|
Ottiene le informazioni di risoluzione del punto di interruzione che descrivono un punto di interruzione. |
La risoluzione degli errori che possono verificarsi durante l'associazione richiede l'implementazione dei metodi di IDebugErrorBreakpoint2 .
Metodo |
Descrizione |
---|---|
Ottiene il punto di interruzione in attesa che contiene un punto di interruzione di errori. |
|
Ottiene la risoluzione degli errori del punto di interruzione che descrive un punto di interruzione di errori. |
La risoluzione degli errori che possono verificarsi durante l'associazione anche richiede i seguenti metodi di IDebugErrorBreakpointResolution2.
Metodo |
Descrizione |
---|---|
ottiene il tipo di punto di interruzione. |
|
ottiene le informazioni di 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 metodi di IDebugStackFrame2:: GetCodeContext.