Condividi tramite


DkmPendingAddressNameBreakpoint Classe

Definizione

Punto di interruzione in sospeso che viene richiesto di associare all'elemento di codice in una stringa di indirizzo di istruzione specifica. All'interno dell'IDE, questi punti di interruzione vengono creati quando l'utente imposta un punto di interruzione nella finestra dello stack di chiamate o del disassembly e quindi viene richiesto al debugger di ribintare il punto di interruzione in un'altra sessione di debug o in un altro processo all'interno della stessa sessione di debug.

public ref class DkmPendingAddressNameBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("243712b0-a935-6c92-7fc4-6ffb461126ac")]
public class DkmPendingAddressNameBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("243712b0-a935-6c92-7fc4-6ffb461126ac")>]
type DkmPendingAddressNameBreakpoint = class
    inherit DkmPendingBreakpoint
Public Class DkmPendingAddressNameBreakpoint
Inherits DkmPendingBreakpoint
Ereditarietà
DkmPendingAddressNameBreakpoint
Ereditarietà
DkmPendingAddressNameBreakpoint
Attributi

Proprietà

AddressName

Rappresentazione stringa dell'indirizzo a cui associare.

CompilerId

Identifica il linguaggio di origine (ad esempio: C#) e il fornitore del compilatore (ad esempio: Microsoft) a cui deve essere associato il punto di interruzione. 'LanguageId' può essere lasciato come Guid.Empty per indicare che il punto di interruzione deve essere associato a tutte le lingue. 'VendorId' è quasi sempre lasciato come Guid.Empty, che indica che solo il linguaggio è noto (non il compilatore).

(Ereditato da DkmPendingBreakpoint)
FunctionName

[Facoltativo] Nome della funzione che contiene l'indirizzo.

IsBarrier

Indica se questo punto di interruzione è una barriera che deve essere impostata sull'hardware, questo funziona per il debug della GPU.

(Ereditato da DkmPendingBreakpoint)
IsUnloaded

Restituisce true se viene generato un evento "non caricato" per questo oggetto (ad esempio: DkmThread::Unload viene chiamato) o se l'oggetto è stato chiuso. Si noti che è necessario usare attenzione quando si controlla questo stato come, senza sincronizzazione, lo stato restituito potrebbe non essere più accurato dopo la lettura.

(Ereditato da DkmDataContainer)
ModuleName

Nome del modulo per cercare il punto di interruzione.

Process

DkmProcess rappresenta un processo di destinazione in fase di debug. Il debugger esegue il debug dei processi, quindi questa è l'unità di base del debug. Un DkmProcess può rappresentare un processo di sistema o un processo virtuale, ad esempio minidump.

(Ereditato da DkmPendingBreakpoint)
SourceId

Identifica l'origine di un oggetto. Gli id di origine vengono usati per abilitare il filtro negli scenari in cui più componenti possono creare istanze di una classe. Ad esempio, gli ID di origine possono essere usati per determinare se un punto di interruzione proviene da AD7 AL (ad esempio: punto di interruzione utente o altro punto di interruzione visibile a livello di SDM) anziché un punto di interruzione che può essere creato da un altro componente (ad esempio un punto di interruzione interno usato per l'esecuzione dell'istruzione).

(Ereditato da DkmPendingBreakpoint)
TagValue

DkmPendingBreakpoint è una classe base astratta. Questa enumerazione indica la classe derivata di questo oggetto è un'istanza di .

(Ereditato da DkmPendingBreakpoint)
Thread

[Facoltativo] Thread su cui deve essere attivato questo punto di interruzione. Se null, il punto di interruzione verrà generato su tutti i thread.

(Ereditato da DkmPendingBreakpoint)
UniqueId

Guid che identifica in modo univoco questo oggetto punto di interruzione in sospeso.

(Ereditato da DkmPendingBreakpoint)

Metodi

Close()

Chiude un'istanza dell'oggetto DkmPendingBreakpoint. Verrà rilasciata qualsiasi risorsa associata a questo oggetto in tutti i componenti. Sono incluse risorse tra i limiti di marshalling gestito o gestito/nativo.

Gli oggetti DkmPendingBreakpoint vengono chiusi automaticamente quando l'oggetto DkmProcess associato viene chiuso.

Questo metodo può essere chiamato solo dal componente che ha creato l'oggetto.

(Ereditato da DkmPendingBreakpoint)
Create(DkmProcess, Guid, DkmCompilerId, DkmThread, Boolean, String, String, String, DkmDataItem)

Crea un nuovo oggetto punto di interruzione in sospeso. Dopo la creazione, l'oggetto restituito sarà comunque disabilitato e non verrà monitorato dal gestore dei punti di interruzione. Per completare l'inizializzazione, il chiamante deve impostare proprietà aggiuntive sul punto di interruzione e "Abilita" o "Registra". Il chiamante è responsabile della chiusura dell'oggetto creato al termine.

Disable(DkmWorkList, DkmCompletionRoutine<DkmDisablePendingBreakpointAsyncResult>)

Disabilitare l'oggetto punto di interruzione in sospeso in modo che non venga più attivato. Se il punto di interruzione in sospeso è già associato, eventuali punti di interruzione associati verranno disabilitati in modo implicito.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000).

(Ereditato da DkmPendingBreakpoint)
Enable(DkmWorkList, DkmCompletionRoutine<DkmEnablePendingBreakpointAsyncResult>)

Imposta lo stato del punto di interruzione in sospeso in modo che le istanze del punto di interruzione che si associano in futuro vengano colpite. Se il punto di interruzione in sospeso non è ancora registrato, questo metodo registra anche il punto di interruzione. La registrazione di un punto di interruzione in sospeso consiste nel tentativo di risolvere il punto di interruzione rispetto a tutti i moduli attualmente caricati e l'aggiunta del punto di interruzione all'elenco dei punti di interruzione a cui verrà associata la gestione punti di interruzione su qualsiasi carico del modulo. Se il punto di interruzione in sospeso è già registrato, i punti di interruzione associati esistenti non verranno abilitati automaticamente. I punti di interruzione associati devono essere abilitati separatamente.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000).

(Ereditato da DkmPendingBreakpoint)
Enroll(DkmWorkList, DkmCompletionRoutine<DkmEnrollPendingBreakpointAsyncResult>)

Questo metodo registra il punto di interruzione in sospeso senza abilitarlo. Il risultato è un punto di interruzione che il gestore del punto di interruzione tenterà di risolvere, ma che non verrà generato. La registrazione di un punto di interruzione in sospeso consiste nel tentativo di risolvere il punto di interruzione rispetto a tutti i moduli attualmente caricati e l'aggiunta del punto di interruzione all'elenco dei punti di interruzione a cui verrà associata la gestione punti di interruzione su qualsiasi carico del modulo.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000).

(Ereditato da DkmPendingBreakpoint)
GetBoundBreakpoints()

GetBoundBreakpoints enumera gli elementi DkmBoundBreakpoint di questo oggetto DkmPendingBreakpoint.

(Ereditato da DkmPendingBreakpoint)
GetDataItem<T>()

Ottiene l'istanza di 'T' che è stata aggiunta a questa istanza del contenitore. Se questo contenitore non contiene un 'T', questa funzione restituirà Null.

(Ereditato da DkmDataContainer)
OnBreakpointBound(DkmBoundBreakpoint[])

Notifica dal gestore del punto di interruzione quando è stato associato un punto di interruzione. Nel caso di punti di interruzione impostati dall'utente, questa notifica verrà inviata a AD7 AL e ad AD7 AL verrà generato un IDebugBreakpointBoundEvent2 nell'interfaccia utente del debugger di Visual Studio.

(Ereditato da DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, Byte, String)

Notifica dal gestore del punto di interruzione relativo allo stato dell'associazione del punto di interruzione.

Questa API è stata introdotta in Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6).

(Ereditato da DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, DkmBreakpointSuggestedFix, String)

Notifica dal gestore del punto di interruzione relativo allo stato dell'associazione del punto di interruzione.

Questa API è stata introdotta in Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4).

(Ereditato da DkmPendingBreakpoint)
OnBreakpointMessage(DkmBreakpointMessageLevel, String)

Notifica dal gestore del punto di interruzione relativo allo stato dell'associazione del punto di interruzione.

(Ereditato da DkmPendingBreakpoint)
OnBreakpointUnbound(DkmBoundBreakpoint[], DkmBreakpointUnboundReason)

Notifica dal gestore del punto di interruzione che indica che il punto di interruzione specificato non è in uscita.

(Ereditato da DkmPendingBreakpoint)
OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String)

Generare un evento BreakpointHitWithError. I componenti che implementano l'interfaccia del sink di eventi riceveranno la notifica dell'evento. Questo metodo eseguirà la sequenza dell'evento e del controllo restituirà immediatamente al chiamante.

Questa API è stata introdotta in Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

(Ereditato da DkmPendingBreakpoint)
RemoveDataItem<T>()

Rimuovere l'istanza di 'T' da questo contenitore. In genere non è necessario chiamare questo metodo come contenitore di dati verrà svuotato automaticamente quando l'oggetto viene chiuso.

(Ereditato da DkmDataContainer)
SetCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetPendingBreakpointConditionAsyncResult>)

Inizializzare, aggiornare o cancellare la condizione a livello di lingua in tutti i punti di interruzione associati di questo punto di interruzione della condizione. Se lo stesso punto di interruzione ha una condizione a livello di lingua e una condizione di conteggio dei risultati, viene applicata prima la condizione a livello di lingua.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000).

(Ereditato da DkmPendingBreakpoint)
SetDataItem<T>(DkmDataCreationDisposition, T)

Inserire un nuovo elemento nel contenitore dati.

(Ereditato da DkmDataContainer)
SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmSetPendingBreakpointHitCountConditionAsyncResult>)

Inizializzare, aggiornare o cancellare la condizione del conteggio dei colpi in tutti i punti di interruzione associati di questo punto di interruzione in sospeso. Se lo stesso punto di interruzione ha una condizione a livello di lingua e una condizione di conteggio dei risultati, viene applicata prima la condizione a livello di lingua.

Si noti che la condizione del conteggio degli hit agisce in modo indipendente su ogni punto di interruzione associato, anziché essere aggregato insieme nel punto di interruzione in sospeso. Ad esempio, se il conteggio dei colpi è configurato per arrestarsi al hit #2 e il punto di interruzione in due posizioni separate, ognuna delle quali ha raggiunto il punto di interruzione una volta, l'interfaccia utente non sarà ancora entrata in modalità di interruzione perché nessuno dei singoli punti di interruzione ha raggiunto due volte.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000).

(Ereditato da DkmPendingBreakpoint)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Punto di interruzione in sospeso che viene richiesto di associare all'elemento di codice in una stringa di indirizzo di istruzione specifica. All'interno dell'IDE, questi punti di interruzione vengono creati quando l'utente imposta un punto di interruzione nella finestra dello stack di chiamate o del disassembly e quindi viene richiesto al debugger di ribintare il punto di interruzione in un'altra sessione di debug o in un altro processo all'interno della stessa sessione di debug.

(Ereditato da DkmPendingBreakpoint)

Si applica a