Condividi tramite


DkmPendingFunctionBreakpoint Classe

Definizione

Punto di interruzione in sospeso che viene richiesto di associare agli elementi di codice con un nome di funzione specifico.

public ref class DkmPendingFunctionBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmPendingBreakpoint
[System.Runtime.InteropServices.Guid("b463b9e3-5b9f-e0e4-f0e9-4f38c63ef443")]
public class DkmPendingFunctionBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmPendingBreakpoint
[<System.Runtime.InteropServices.Guid("b463b9e3-5b9f-e0e4-f0e9-4f38c63ef443")>]
type DkmPendingFunctionBreakpoint = class
    inherit DkmPendingBreakpoint
Public Class DkmPendingFunctionBreakpoint
Inherits DkmPendingBreakpoint
Ereditarietà
Ereditarietà
DkmPendingFunctionBreakpoint
Attributi

Proprietà

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

Nome della funzione a cui eseguire l'associazione.

IsBarrier

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

(Ereditato da DkmPendingBreakpoint)
IsUnloaded

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

(Ereditato da DkmDataContainer)
LineOffset

Riga della funzione a cui eseguire l'associazione.

ModuleName

[Facoltativo] Nome del modulo in cui cercare il punto di interruzione. Se null, verranno cercati tutti i moduli.

Process

DkmProcess rappresenta un processo di destinazione di cui viene eseguito il debug. Il debugger esegue il debug dei processi, quindi si tratta dell'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 . SourceIds viene usato 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é da un punto di interruzione che può essere creato da un altro componente (ad esempio un punto di interruzione interno usato per l'esecuzione di istruzioni).

(Ereditato da DkmPendingBreakpoint)
TagValue

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

(Ereditato da DkmPendingBreakpoint)
Thread

[Facoltativo] Thread in cui deve essere attivato questo punto di interruzione. Se null, il punto di interruzione verrà attivato 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. Verranno rilasciate tutte le risorse associate a questo oggetto in tutti i componenti. Sono incluse le risorse tra computer o limiti di marshalling gestiti/nativi.

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, UInt32, DkmDataItem)

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

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 accodato 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 location: l'API deve essere chiamata da un componente IDE (livello > 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 soddisfatte. Se il punto di interruzione in sospeso non è ancora registrato, questo metodo registrerà anche il punto di interruzione. La registrazione di un punto di interruzione in sospeso consiste nel tentativo di risolvere il punto di interruzione in tutti i moduli attualmente caricati e di aggiungere il punto di interruzione all'elenco di punti di interruzione a cui verrà associato il gestore del punto di interruzione su qualsiasi caricamento 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 accodato 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 location: l'API deve essere chiamata da un componente IDE (livello > componente 100.000).

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

Questo metodo registrerà 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à attivato. La registrazione di un punto di interruzione in sospeso consiste nel tentativo di risolvere il punto di interruzione in tutti i moduli attualmente caricati e di aggiungere il punto di interruzione all'elenco di punti di interruzione a cui verrà associato il gestore del punto di interruzione su qualsiasi caricamento del modulo.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato 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 location: l'API deve essere chiamata da un componente IDE (livello > 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' 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 dei punti di interruzione quando è stato associato un punto di interruzione. Nel caso dei punti di interruzione impostati dall'utente, questa notifica verrà inviata ad AD7 AL e AD7 AL attiverà un IDebugBreakpointBoundEvent2 all'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 è associato.

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

Generare un evento BreakpointHitWithError. I componenti che implementano l'interfaccia sink di eventi riceveranno la notifica degli eventi. Questo metodo accoderà l'evento e il controllo tornerà 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 sia una condizione a livello di lingua che una condizione di numero di passaggi, la condizione a livello di lingua viene applicata per prima.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato 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 location: l'API deve essere chiamata da un componente IDE (livello > 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 numero di passaggi in tutti i punti di interruzione associati di questo punto di interruzione in sospeso. Se lo stesso punto di interruzione ha sia una condizione a livello di lingua che una condizione di numero di passaggi, la condizione a livello di lingua viene applicata per prima.

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

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato 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 location: l'API deve essere chiamata da un componente IDE (livello > componente 100.000).

(Ereditato da DkmPendingBreakpoint)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Punto di interruzione in sospeso che viene richiesto di associare agli elementi di codice con un nome di funzione specifico.

(Ereditato da DkmPendingBreakpoint)

Si applica a