Condividi tramite


DkmClrNcRuntimeInstance Classe

Definizione

Rappresenta un'istanza CLR compilata nativa in esecuzione in un processo di destinazione.

Questa API è stata introdotta in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

public ref class DkmClrNcRuntimeInstance : Microsoft::VisualStudio::Debugger::Clr::DkmClrRuntimeInstance
[System.Runtime.InteropServices.Guid("a1a355e8-c42b-c18f-c5e6-42f06d6aa8c5")]
public class DkmClrNcRuntimeInstance : Microsoft.VisualStudio.Debugger.Clr.DkmClrRuntimeInstance
[<System.Runtime.InteropServices.Guid("a1a355e8-c42b-c18f-c5e6-42f06d6aa8c5")>]
type DkmClrNcRuntimeInstance = class
    inherit DkmClrRuntimeInstance
Public Class DkmClrNcRuntimeInstance
Inherits DkmClrRuntimeInstance
Ereditarietà
Ereditarietà
Attributi

Proprietà

Capabilities

Enumerazione delle funzionalità di runtime.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmRuntimeInstance)
Connection

Rappresenta una connessione tra il monitoraggio e l'IDE. Può trattarsi di una connessione locale se il monitoraggio è in esecuzione nello stesso processo dell'IDE oppure può essere una connessione remota. Nel processo di monitoraggio è presente una sola connessione.

(Ereditato da DkmRuntimeInstance)
CORSystemDirectory

[Facoltativo] Directory di installazione dell'istanza CLR (Common Language Runtime). Ad esempio'c:\Windows\Microsoft.NET\Framework\v2.0.50727'. Questo è lo stesso percorso restituito dall'API GetCORSystemDirectory e include sempre la barra finale.

(Ereditato da DkmClrRuntimeInstance)
Id

Identifica un oggetto DkmRuntimeInstance all'interno di un processo.

(Ereditato da DkmRuntimeInstance)
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)
ParentRuntime

[Facoltativo] Per i runtime implementati sopra un altro runtime, può essere usato facoltativamente per indichere l'elemento padre logico. Questa operazione può quindi essere usata per richiedere servizi dall'elemento padre quando il runtime figlio non implementa il servizio. Questa operazione viene attualmente usata solo per ottenere il frame dello stack superiore per valutare un punto di interruzione condizionale quando il runtime figlio non cammina in pila.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmRuntimeInstance)
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 DkmRuntimeInstance)
RuntimeVersion

[Facoltativo] Stringa di versione per l'istanza CLR (ad esempio: 'v2.0.50727').

(Ereditato da DkmClrRuntimeInstance)
TagValue

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

(Ereditato da DkmRuntimeInstance)

Metodi

AfterSteppingArbitration(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

AfterSteppingArbitration viene chiamato dal gestore delle istruzioni nell'istanza di runtime di controllo precedente dopo il completamento dell'arbitrato delle istruzioni, ma prima che l'istanza di runtime successiva inizi a eseguire l'istruzione. Ciò consente ai runtime di cancellare qualsiasi stato di esecuzione se un altro runtime ha preso il controllo. Se nessun altro monitoraggio di runtime ha richiesto la posizione corrente, il monitoraggio originale deve completare il passaggio. Ciò è indicato da NewControllingRuntimeInstance null. Ad esempio, un'istanza di runtime può scegliere di eseguire il passaggio indietro se un'istruzione viene inserita in una posizione senza simboli e nessun altro runtime ha preso il controllo.

Vincolo location: l'API deve essere chiamata da un componente Monitor (livello < componente 100.000).

(Ereditato da DkmRuntimeInstance)
BeforeEnableNewStepper(DkmStepper)

BeforeEnableNewStepper viene chiamato dal gestore delle istruzioni prima che venga abilitato un nuovo stepper. In questo modo, i runtime possono eseguire qualsiasi inizializzazione che potrebbe essere necessaria, ad esempio l'esecuzione di valutazioni delle funzioni in fase di pre-passaggio.

Vincolo location: l'API deve essere chiamata da un componente Monitor (livello < componente 100.000).

(Ereditato da DkmRuntimeInstance)
BindMethodToObject(DkmStackWalkFrame, UInt64, DkmClrModuleInstance, Int32, DkmClrType, Int32)

Tenta di associare il metodo descritto da Token e Module a questo oggetto.

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

Questa API è stata introdotta in Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8).

(Ereditato da DkmClrRuntimeInstance)
CanDoFuncEval(DkmThread)

Verifica se il thread specificato è in uno stato in cui CLR supporta func-evals gestiti.

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

(Ereditato da DkmClrRuntimeInstance)
ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String)

Continuare il processo e attendere il completamento di un func-eval. Il chiamante deve sempre eseguire "CanDoFuncEval" prima di creare ICorDebugEval e configurare la valutazione.

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

(Ereditato da DkmClrRuntimeInstance)
ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String, DkmClrInstructionAddress)

Continuare il processo e attendere il completamento di un func-eval. Il chiamante deve sempre eseguire "CanDoFuncEval" prima di creare ICorDebugEval e configurare la valutazione.

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

Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

(Ereditato da DkmClrRuntimeInstance)
Create(DkmProcess, DkmRuntimeInstanceId, DkmRuntimeCapabilities, DkmRuntimeInstance, String, DkmDataItem)

Crea un nuovo oggetto istanza di runtime da un monitoraggio di debug. Questo metodo deve essere chiamato dal thread evento quando un monitoraggio di debug rileva che una nuova istanza di runtime è stata caricata, ad esempio quando la dll di runtime corrispondente viene caricata nel processo di destinazione.

Questo metodo invierà un evento RuntimeInstanceLoad.

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

Questa API è stata introdotta in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

Disassemble(DkmInstructionAddress, UInt32)

Disassemblare un intervallo di indirizzi nel runtime di debug.

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

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmRuntimeInstance)
FindAppDomain(Int32)

Trovare un elemento DkmClrAppDomain all'interno di questo DkmClrRuntimeInstance. Se non è presente alcun elemento con la chiave di input specificata, FindAppDomain avrà esito negativo.

(Ereditato da DkmClrRuntimeInstance)
FindClrModuleInstance(ICorDebugModule)

Ottiene DkmClrModuleInstance da un oggetto ICorDebugModule.

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

(Ereditato da DkmClrRuntimeInstance)
FindEmbeddedModule(Guid)

Trovare un elemento DkmClrNcModuleInstance all'interno di questo DkmClrNcRuntimeInstance. Se non è presente alcun elemento con la chiave di input specificata, FindEmbeddedModule avrà esito negativo.

Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

FindModulesByName(String)

Questo metodo restituisce tutti i moduli che corrispondono al nome specificato.

(Ereditato da DkmRuntimeInstance)
GetActiveStatements(DkmActiveStatement[])

Fornisce lo stack di tutte le istruzioni attive in tutti i thread. Quindi, se la stessa funzione si trova in uno stack di chiamate più volte, verrà duplicata in questa matrice. Le voci nello stack vengono raggruppate in base al thread.

Vincolo percorso: può essere chiamato dal client al lato server.

Questa API è stata introdotta in Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

(Ereditato da DkmClrRuntimeInstance)
GetActiveStatements(DkmWorkList, DkmCompletionRoutine<DkmGetActiveStatementsAsyncResult>)

Fornisce lo stack di tutte le istruzioni attive in tutti i thread. Quindi, se la stessa funzione si trova in uno stack di chiamate più volte, verrà duplicata in questa matrice. Le voci nello stack vengono raggruppate in base al thread.

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: può essere chiamato dal client al lato server.

Questa API è stata introdotta in Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5).

(Ereditato da DkmClrRuntimeInstance)
GetAliases(DkmInspectionContext)

Ottiene l'elenco di alias attualmente utilizzabili nelle espressioni.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

(Ereditato da DkmClrRuntimeInstance)
GetAppDomains()

GetAppDomains enumera gli elementi DkmClrAppDomain di questo oggetto DkmClrRuntimeInstance.

(Ereditato da DkmClrRuntimeInstance)
GetApplyUpdateCapabilities()

Ottenere le stringhe di funzionalità per il set di modifiche e continuazioni supportate dal runtime.

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

Questa API è stata introdotta in Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

(Ereditato da DkmClrRuntimeInstance)
GetApplyUpdateCapabilities(DkmWorkList, DkmCompletionRoutine<DkmGetApplyUpdateCapabilitiesAsyncResult>)

Ottenere le stringhe di funzionalità per il set di modifiche e continuazioni supportate dal runtime.

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).

Questa API è stata introdotta in Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

(Ereditato da DkmClrRuntimeInstance)
GetArrayLayoutForType(DkmManagedTypeId)

Dato un ID tipo gestito, ottenere il layout della matrice di tale tipo.

Questa API è stata introdotta in Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5).

(Ereditato da DkmClrRuntimeInstance)
GetCodePathsInRange(ICorDebugFrame, UInt32, UInt32)

GetCodePathsInRange viene chiamato per ottenere i percorsi di codice in un intervallo IL specifico.

Vincolo location: deve essere chiamato solo sul lato server.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmRuntimeInstance)
GetCorFrame(DkmThread, UInt64, Guid)

GetCorFrame viene usato per ottenere un ICorDebugFrame che un componente può usare per esaminare in modo approfondito il frame dello stack.

L'interfaccia restituita può essere usata SOLO per controllare il processo di destinazione e non deve mai essere usata per controllare l'esecuzione (nessun passaggio, nessun punto di interruzione, nessuna continuazione e così via). In questo modo non è supportato e comporterà un comportamento non definito.

Vincolo percorso: questa API deve essere chiamata dallo stesso processo in cui il runtime di destinazione implementa la procedura dettagliata dello stack. Per il debug gestito, ciò significa che quando si esegue il debug di processi remoti o a 64 bit, questa API deve essere chiamata da un componente di monitoraggio di debug.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

(Ereditato da DkmClrRuntimeInstance)
GetCorProcess()

Fornisce l'accesso diretto all'oggetto ICorDebugProcess, che gli analizzatori di espressioni o altri componenti possono usare per l'ispezione.

L'interfaccia restituita può essere usata SOLO per controllare il processo di destinazione e non deve mai essere usata per controllare l'esecuzione (nessun passaggio, nessun punto di interruzione, nessuna continuazione e così via). In questo modo non è supportato e comporterà un comportamento non definito.

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

(Ereditato da DkmClrRuntimeInstance)
GetCorThread(DkmThread)

Fornisce l'accesso diretto all'oggetto ICorDebugThread, che gli analizzatori di espressioni o altri componenti possono usare per controllare il dominio dell'app.

L'interfaccia restituita può essere usata SOLO per controllare il processo di destinazione e non deve mai essere usata per controllare l'esecuzione (nessun passaggio, nessun punto di interruzione, nessuna continuazione e così via). In questo modo non è supportato e comporterà un comportamento non definito.

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

(Ereditato da DkmClrRuntimeInstance)
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)
GetEmbeddedModules()

GetEmbeddedModules enumera gli elementi DkmClrNcModuleInstance di questo oggetto DkmClrNcRuntimeInstance.

Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

GetEncAvailability(String)

Verifica se Edit and Continue è supportato per l'istanza di runtime corrispondente.

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

Questa API è stata introdotta in Visual Studio 16 Update 1 (DkmApiVersion.VS16Update1).

(Ereditato da DkmClrRuntimeInstance)
GetInstructionAddress(DkmInstructionAddress, Int32)

Restituisce l'indirizzo dell'istruzione kth rispetto a un indirizzo iniziale. Per i set di istruzioni di lunghezza costante, si tratta di un semplice aritmetico. Per i set di istruzioni a lunghezza variabile, è necessario eseguire il disassembly inverso per ottenere questo indirizzo.

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

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmRuntimeInstance)
GetIntrinsicAssemblyMetaDataBytesPtr(UInt32)

Ottenere i metadati per l'assembly "Metodi intrinseci". I metodi intrinseci sono metodi speciali che il motore di debug comprende quando si esegue una query di ispezione CLR. Esempio: quando si valuta "$exception" nell'analizzatore di espressioni C#, il compilatore di espressioni C# genererà una chiamata a GetException nell'assembly dei metodi intrinseci. Anziché eseguire la chiamata normalmente, il debugger simula la chiamata al metodo e restituisce l'eccezione nel thread corrente.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

(Ereditato da DkmClrRuntimeInstance)
GetManagedHeapSamplers()

GetManagedHeapSamplers enumera gli elementi DkmManagedHeapSampler di questo oggetto DkmRuntimeInstance.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmRuntimeInstance)
GetManagedHeapWalkers()

GetManagedHeapWalkers enumera gli elementi DkmManagedHeapWalker di questo oggetto DkmRuntimeInstance.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmRuntimeInstance)
GetMethodReturnAddresses(DkmClrModuleInstance, DkmClrMethodId)

Metodo helper interno per trovare tutti gli indirizzi delle istruzioni di ret in un determinato metodo. NB! Gli indirizzi puntano all'ils effettivo, non al punto di sequenza corrente/precedente.

Vincolo location: Nessuno.

Questa API è stata introdotta in Visual Studio 16 Update 6 (DkmApiVersion.VS16Update6).

(Ereditato da DkmClrRuntimeInstance)
GetModuleInstances()

GetModuleInstances enumera gli elementi DkmModuleInstance di questo oggetto DkmRuntimeInstance.

(Ereditato da DkmRuntimeInstance)
GetOutOfProcStepAddresses(DkmStepper, DkmStackWalkFrame, DkmSteppingRange[])

Metodo helper interno per trovare gli indirizzi candidati per il passaggio in/over.

Vincolo location: Nessuno.

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

(Ereditato da DkmClrRuntimeInstance)
GetScriptDocumentTreeNodes()

GetScriptDocumentTreeNodes enumera gli elementi DkmScriptDocumentTreeNode di questo oggetto DkmRuntimeInstance.

(Ereditato da DkmRuntimeInstance)
GetSymbolNameForAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetSymbolNameForAddressAsyncResult>)

Ottiene il nome del simbolo per l'indirizzo specificato usando le informazioni di runtime anziché i simboli. Attualmente questa operazione viene implementata solo per l'istanza di runtime CLR.

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).

Questa API è stata introdotta in Visual Studio 16 Update 7 (DkmApiVersion.VS16Update7).

(Ereditato da DkmRuntimeInstance)
GetTaskProviders()

GetTaskProviders enumera gli elementi DkmTaskProvider di questo oggetto DkmRuntimeInstance.

(Ereditato da DkmRuntimeInstance)
GetThreadDisplayProperties(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadDisplayPropertiesAsyncResult>)

Ottiene le proprietà di visualizzazione del thread, inclusi il nome visualizzato e la categoria di thread.

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 DkmRuntimeInstance)
GetThreadName(DkmThread)

Calcolare il nome di un thread.

(Ereditato da DkmRuntimeInstance)
GetThreadName(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadNameAsyncResult>)

Calcolare il nome di un thread.

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.

(Ereditato da DkmRuntimeInstance)
GetTypeLayoutForType(DkmManagedTypeId)

Dato un ID tipo gestito, ottenere il layout del tipo di tale tipo.

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

(Ereditato da DkmClrRuntimeInstance)
NotifyStepComplete(DkmStepper)

NotifyStepComplete viene chiamato dal gestore delle istruzioni in tutte le istanze di runtime non controllate al termine di un passaggio.

Vincolo location: l'API deve essere chiamata da un componente Monitor (livello < componente 100.000).

(Ereditato da DkmRuntimeInstance)
OnFuncEvalQuickAbortDllLoaded(DkmThread, Boolean)

Notifica il risultato del tentativo di caricare la DLL FEQA.

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

(Ereditato da DkmClrRuntimeInstance)
OnLoadComplete()

Questo metodo viene chiamato da un monitoraggio di debug per generare un evento RuntimeInstanceLoadComplete. RuntimeInstanceLoadComplete è attualmente inviato solo per l'istanza del runtime nativo, anche se questo potrebbe cambiare in futuro. L'evento viene generato dopo la creazione di oggetti DkmModuleInstance per il set iniziale di moduli nell'istanza di runtime.

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

Questa API è stata introdotta in Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2).

(Ereditato da DkmRuntimeInstance)
OnNewControllingRuntimeInstance(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

OnNewControllingRuntimeInstance viene chiamato dal gestore delle istruzioni in tutte le istanze di runtime non controllate dopo che l'arbitrato dei passaggi ha selezionato una nuova istanza di runtime di controllo.

Vincolo location: l'API deve essere chiamata da un componente Monitor (livello < componente 100.000).

(Ereditato da DkmRuntimeInstance)
OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason)

OwnsCurrentExecutionLocation viene chiamato dal gestore delle istruzioni durante la ricerca dei monitoraggi per eseguire un passaggio. Se il percorso corrente nell'area di debug è compreso da questo monitoraggio, può restituire true qui per assumere il controllo del passaggio.

Vincolo location: l'API deve essere chiamata da un componente Monitor (livello < componente 100.000).

(Ereditato da DkmRuntimeInstance)
PrepareForFuncEvalQuickAbort(DkmThread, Boolean, UInt64)

Verifica se è necessario caricare la DLL FEQA.

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

(Ereditato da DkmClrRuntimeInstance)
ReenableFuncEval(String)

Tenta di riabilitare func-eval.

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

(Ereditato da DkmClrRuntimeInstance)
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)
ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>)

Risolve un oggetto DkmInstructionAddress della CPU in un oggetto DkmInstructionAddress specifico del runtime.

Questa API è attualmente supportata solo dagli oggetti CLR DkmRuntimeInstance e l'istanza di runtime CLR è attualmente in grado di trovare solo indirizzi di istruzione che si trovano in un metodo attualmente presente nello stack di chiamate di uno dei thread nel processo di destinazione.

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 percorso: questa API deve in genere essere chiamata sul client, ma può essere chiamata sul server per la conversione di indirizzi CLR (ma non compilata in modo nativo).

(Ereditato da DkmRuntimeInstance)
ResolveCPUInstructionAddress(UInt64, Boolean)

Risolve un oggetto DkmInstructionAddress specifico per la CPU.

Questa API è attualmente supportata solo dagli oggetti CLR DkmRuntimeInstance e l'istanza di runtime CLR può attualmente trovare solo indirizzi di istruzione che sono in un metodo attualmente nello stack di chiamate di uno dei thread nel processo di destinazione.

Vincolo percorso: questa API deve in genere essere chiamata sul client, ma può essere chiamata sul server per la conversione di indirizzi CLR (ma non compilata in modo nativo).

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

Inserire un nuovo elemento nel contenitore di dati.

(Ereditato da DkmDataContainer)
SetRegisterValue(DkmStackWalkFrame, Int32, ReadOnlyCollection<Byte>)

Imposta il valore del registro nel contesto del thread. Sono supportati i registri secondari costituiti da registri più grandi.

(Ereditato da DkmRuntimeInstance)
Step(DkmStepper, DkmStepArbitrationReason)

Il passaggio viene chiamato dal gestore di passaggi dopo che determina questo monitoraggio è il monitoraggio corretto per eseguire il passaggio.

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

(Ereditato da DkmRuntimeInstance)
StepControlRequested(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

StepControlRequested viene chiamato dal gestore delle istruzioni quando un'istanza di runtime non controllante rileva che il thread ha raggiunto una transizione al runtime. Se l'istanza corrente del runtime di controllo può arrestare l'esecuzione, deve essere impostata su true. Il controllo effettivo non viene assegnato fino a quando il runtime di richieste chiama DkmStepper.TakeStepControl. Questo processo di due parti consente ai chiamanti di richiedere il controllo di più passaggi contemporaneamente.

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

(Ereditato da DkmRuntimeInstance)
StopStep(DkmStepper)

StopStep viene chiamato dal gestore di passaggi quando il processo viene continuato a cancellare qualsiasi stato di passaggio rimanente per un stepper.

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

(Ereditato da DkmRuntimeInstance)
TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance)

TakeStepControl viene chiamato dal gestore di passaggi quando un'istanza di runtime non controllante rileva che il thread ha raggiunto una transizione al runtime. Il gestore delle istruzioni inoltra la chiamata all'istanza corrente del runtime di controllo. Il controllo di richiesta dell'istanza di runtime deve prima chiamare StepControlRequested in tutti i passaggi di cui vuole il controllo. Se vengono impostati su true, l'istanza di runtime deve quindi chiamare questo metodo su ogni passaggio che sta prendendo il controllo di .

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

(Ereditato da DkmRuntimeInstance)
TryDisableFuncEval(String)

Tenta di disabilitare func-eval.

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

(Ereditato da DkmClrRuntimeInstance)
Unload()

RuntimeInstanceUnload viene inviato dal dispatcher quando DkmRuntimeInstance::Unload viene richiamato dal monitoraggio.

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

(Ereditato da DkmRuntimeInstance)

Si applica a