Freigeben über


DkmClrNcRuntimeInstance Klasse

Definition

Stellt eine systemintern kompilierte CLR-instance dar, die in einem Zielprozess ausgeführt wird.

Diese API wurde in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6) eingeführt.

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
Vererbung
Vererbung
Attribute

Eigenschaften

Capabilities

Enumeration von Laufzeitfunktionen.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

(Geerbt von DkmRuntimeInstance)
Connection

Dies stellt eine Verbindung zwischen dem Monitor und der IDE dar. Es kann entweder eine lokale Verbindung sein, wenn der Monitor im selben Prozess wie die IDE ausgeführt wird, oder es kann sich um eine Remoteverbindung handelt. Im Überwachungsprozess besteht nur eine Verbindung.

(Geerbt von DkmRuntimeInstance)
CORSystemDirectory

[Optional] Das Installationsverzeichnis der Common Language Runtime (CLR) instance. Beispiel: "c:\Windows\Microsoft.NET\Framework\v2.0.50727". Dies ist derselbe Pfad, der von der GetCORSystemDirectory-API zurückgegeben wird, und er enthält immer den nachgestellten Schrägstrich.

(Geerbt von DkmClrRuntimeInstance)
Id

Identifiziert ein DkmRuntimeInstance-Objekt innerhalb eines Prozesses.

(Geerbt von DkmRuntimeInstance)
IsUnloaded

Gibt true zurück, wenn ein "unloaded"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses status Vorsicht erforderlich ist, da die zurückgegebene status ohne Synchronisierung die Anweisung nach dem Lesen möglicherweise nicht mehr korrekt ist.

(Geerbt von DkmDataContainer)
ParentRuntime

[Optional] Für Laufzeiten, die auf einer anderen Runtime implementiert sind, kann dies optional verwendet werden, um das logische übergeordnete Element zu indizieren. Dies kann dann verwendet werden, um Dienste vom übergeordneten Element anzufordern, wenn die untergeordnete Runtime den Dienst nicht implementiert. Dies wird derzeit nur zum Abrufen des Frames des obersten Stapels verwendet, um einen bedingten Haltepunkt auszuwerten, wenn die untergeordnete Runtime selbst keine Stapel durchlaufen kann.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

(Geerbt von DkmRuntimeInstance)
Process

DkmProcess stellt einen Zielprozess dar, der debuggt wird. Der Debugger debuggt Prozesse, sodass dies die grundlegende Debugeinheit ist. Ein DkmProcess kann einen Systemprozess oder einen virtuellen Prozess wie Minidumps darstellen.

(Geerbt von DkmRuntimeInstance)
RuntimeVersion

[Optional] Die Versionszeichenfolge für die CLR-instance (z. B. "v2.0.50727").

(Geerbt von DkmClrRuntimeInstance)
TagValue

DkmRuntimeInstance ist eine abstrakte Basisklasse. Diese Enumeration gibt an, welche abgeleitete Klasse dieses Objekt instance ist.

(Geerbt von DkmRuntimeInstance)

Methoden

AfterSteppingArbitration(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

AfterSteppingArbitration wird vom Stepping-Manager auf der alten steuerungsbasierten Runtime instance aufgerufen, nachdem die Schrittverschiedung abgeschlossen ist, aber bevor die nächste Laufzeit instance mit dem Schrittweisen beginnt. Dadurch können Runtimes jeden Schrittstatus löschen, wenn eine andere Laufzeit die Kontrolle übernommen hat. Wenn kein anderer Laufzeitmonitor den aktuellen Speicherort in Anspruch genommen hat, sollte der ursprüngliche Monitor den Schritt abschließen. Dies wird dadurch angegeben, dass NewControllingRuntimeInstance null ist. Für instance kann ein Runtime-instance einen Schritt zurücktreten, wenn ein Schritt an einem Ort ohne Symbole gelandet ist und keine andere Laufzeit die Kontrolle übernommen hat.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
BeforeEnableNewStepper(DkmStepper)

BeforeEnableNewStepper wird vom Schritt-Manager aufgerufen, bevor ein neuer Stepper aktiviert wird. Dies gibt Laufzeiten die Möglichkeit, alle möglicherweise erforderlichen Initialisierungen durchzuführen, z. B. das Ausführen von Funktionsauswertungen im Vorschritt.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
BindMethodToObject(DkmStackWalkFrame, UInt64, DkmClrModuleInstance, Int32, DkmClrType, Int32)

Versucht, die unter Token und Module beschriebene Methode an dieses Objekt zu binden.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 Update 8 (DkmApiVersion.VS17Update8) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
CanDoFuncEval(DkmThread)

Überprüft, ob sich der angegebene Thread in einem Zustand befindet, in dem die CLR verwaltete func-evals unterstützt.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmClrRuntimeInstance)
ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String)

Fahren Sie mit dem Vorgang fort, und warten Sie, bis ein func-eval abgeschlossen ist. Der Aufrufer sollte immer "CanDoFuncEval" ausführen, bevor die ICorDebugEval erstellt und die Auswertung eingerichtet wird.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmClrRuntimeInstance)
ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String, DkmClrInstructionAddress)

Fahren Sie mit dem Vorgang fort, und warten Sie, bis ein func-eval abgeschlossen ist. Der Aufrufer sollte immer "CanDoFuncEval" ausführen, bevor die ICorDebugEval erstellt und die Auswertung eingerichtet wird.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 15 RTM (DkmApiVersion.VS15RTM) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
Create(DkmProcess, DkmRuntimeInstanceId, DkmRuntimeCapabilities, DkmRuntimeInstance, String, DkmDataItem)

Erstellt ein neues Runtime-instance-Objekt aus einem Debugmonitor. Diese Methode muss aus dem Ereignisthread aufgerufen werden, wenn ein Debugmonitor erkennt, dass eine neue Runtime instance geladen wurde (z. B. wenn die entsprechende Laufzeit-DLL im Zielprozess geladen wird).

Diese Methode sendet ein RuntimeInstanceLoad-Ereignis.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6) eingeführt.

Disassemble(DkmInstructionAddress, UInt32)

Disassemblieren eines Adressbereichs in der Debugruntime.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

(Geerbt von DkmRuntimeInstance)
FindAppDomain(Int32)

Suchen Sie ein DkmClrAppDomain-Element in dieser DkmClrRuntimeInstance. Wenn kein Element mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindAppDomain fehl.

(Geerbt von DkmClrRuntimeInstance)
FindClrModuleInstance(ICorDebugModule)

Ruft die DkmClrModuleInstance von einem ICorDebugModule ab.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmClrRuntimeInstance)
FindEmbeddedModule(Guid)

Suchen Sie ein DkmClrNcModuleInstance-Element in dieser DkmClrNcRuntimeInstance. Wenn kein Element mit dem angegebenen Eingabeschlüssel vorhanden ist, schlägt FindEmbeddedModule fehl.

Diese API wurde in Visual Studio 15 RTM (DkmApiVersion.VS15RTM) eingeführt.

FindModulesByName(String)

Diese Methode gibt alle Module zurück, die mit dem angegebenen Namen übereinstimmen.

(Geerbt von DkmRuntimeInstance)
GetActiveStatements(DkmActiveStatement[])

Stellt den Stapel aller aktiven Anweisungen für alle Threads bereit. Wenn sich also dieselbe Funktion mehrmals in einer Aufrufliste befindet, wird sie in diesem Array dupliziert. Einträge im Stapel werden nach Thread gruppiert.

Standorteinschränkung: Kann von Client- zu Serverseite aufgerufen werden.

Diese API wurde in Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetActiveStatements(DkmWorkList, DkmCompletionRoutine<DkmGetActiveStatementsAsyncResult>)

Stellt den Stapel aller aktiven Anweisungen für alle Threads bereit. Wenn sich also dieselbe Funktion mehrmals in einer Aufrufliste befindet, wird sie in diesem Array dupliziert. Einträge im Stapel werden nach Thread gruppiert.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Kann von Client- zu Serverseite aufgerufen werden.

Diese API wurde in Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetAliases(DkmInspectionContext)

Ruft die Liste der Aliase ab, die derzeit in Ausdrücken verwendet werden können.

Diese API wurde in Visual Studio 14 RTM (DkmApiVersion.VS14RTM) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetAppDomains()

GetAppDomains listet die DkmClrAppDomain-Elemente dieses DkmClrRuntimeInstance-Objekts auf.

(Geerbt von DkmClrRuntimeInstance)
GetApplyUpdateCapabilities()

Ruft die Funktionszeichenfolge für den Satz von Bearbeitungen ab, die von der Laufzeit unterstützt werden.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 RTM (DkmApiVersion.VS17RTM) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetApplyUpdateCapabilities(DkmWorkList, DkmCompletionRoutine<DkmGetApplyUpdateCapabilitiesAsyncResult>)

Ruft die Funktionszeichenfolge für den Satz von Bearbeitungen ab, die von der Laufzeit unterstützt werden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 RTM (DkmApiVersion.VS17RTM) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetArrayLayoutForType(DkmManagedTypeId)

Rufen Sie bei Einer verwalteten Typ-ID das Arraylayout dieses Typs ab.

Diese API wurde in Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetCodePathsInRange(ICorDebugFrame, UInt32, UInt32)

GetCodePathsInRange wird aufgerufen, um Codepfade in einem bestimmten IL-Bereich abzurufen.

Standorteinschränkung: Sie sollte nur auf serverseitiger Seite aufgerufen werden.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

(Geerbt von DkmRuntimeInstance)
GetCorFrame(DkmThread, UInt64, Guid)

GetCorFrame wird verwendet, um einen ICorDebugFrame abzurufen, den eine Komponente verwenden kann, um den Stapelrahmen gründlich zu untersuchen.

Die zurückgegebene Schnittstelle kann NUR verwendet werden, um den Zielprozess zu überprüfen, und sollte NIE verwendet werden, um die Ausführung zu steuern (kein Schrittschritt, keine Haltepunkte, kein Fortsetzen usw.). Dies wird nicht unterstützt und führt zu undefiniertem Verhalten.

Standorteinschränkung: Diese API muss aus demselben Prozess aufgerufen werden, in dem die Zielruntime stack walk implementiert. Für das verwaltete Debuggen bedeutet dies, dass diese API beim Debuggen von 64-Bit- oder Remoteprozessen von einer Debugmonitorkomponente aufgerufen werden muss.

Diese API wurde in Visual Studio 14 RTM (DkmApiVersion.VS14RTM) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetCorProcess()

Bietet direkten Zugriff auf das ICorDebugProcess-Objekt, das Ausdrucksauswerter oder andere Komponenten für die Überprüfung verwenden können.

Die zurückgegebene Schnittstelle kann NUR verwendet werden, um den Zielprozess zu überprüfen, und sollte NIE verwendet werden, um die Ausführung zu steuern (kein Schrittschritt, keine Haltepunkte, kein Fortsetzen usw.). Dies wird nicht unterstützt und führt zu undefiniertem Verhalten.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmClrRuntimeInstance)
GetCorThread(DkmThread)

Bietet direkten Zugriff auf das ICorDebugThread-Objekt, das Ausdrucksauswerter oder andere Komponenten verwenden können, um die App-Domäne zu untersuchen.

Die zurückgegebene Schnittstelle kann NUR verwendet werden, um den Zielprozess zu überprüfen, und sollte NIE verwendet werden, um die Ausführung zu steuern (kein Schrittschritt, keine Haltepunkte, kein Fortsetzen usw.). Dies wird nicht unterstützt und führt zu undefiniertem Verhalten.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmClrRuntimeInstance)
GetDataItem<T>()

Ruft den instance von "T" ab, der diesem Container instance hinzugefügt wurde. Wenn dieser Container kein "T" enthält, gibt diese Funktion NULL zurück.

(Geerbt von DkmDataContainer)
GetEmbeddedModules()

GetEmbeddedModules listet die DkmClrNcModuleInstance-Elemente dieses DkmClrNcRuntimeInstance-Objekts auf.

Diese API wurde in Visual Studio 15 RTM (DkmApiVersion.VS15RTM) eingeführt.

GetEncAvailability(String)

Überprüft, ob Bearbeiten und Fortfahren für die entsprechende Laufzeit instance unterstützt wird.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 16 Update 1 (DkmApiVersion.VS16Update1) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetInstructionAddress(DkmInstructionAddress, Int32)

Gibt die Adresse der kth-Anweisung relativ zu einer Startadresse zurück. Für Anweisungssätze mit konstanter Länge ist dies eine einfache Arithmetik. Für Befehlssätze mit variabler Länge ist eine Reverse-Disassemblierung erforderlich, um diese Adresse abzurufen.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

(Geerbt von DkmRuntimeInstance)
GetIntrinsicAssemblyMetaDataBytesPtr(UInt32)

Ruft Metadaten für die "Systeminterne Methodenassembly" ab. Systeminterne Methoden sind spezielle Methoden, die die Debug-Engine beim Ausführen einer CLR-Überprüfungsabfrage versteht. Beispiel: Beim Auswerten von "$exception" in der C#-Ausdrucksauswertung gibt der C#-Ausdruckscompiler einen Aufruf von GetException in der Assembly der systeminternen Methoden aus. Anstatt den Aufruf normal auszuführen, simuliert der Debugger stattdessen den Methodenaufruf und gibt die Ausnahme für den aktuellen Thread zurück.

Diese API wurde in Visual Studio 14 RTM (DkmApiVersion.VS14RTM) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetManagedHeapSamplers()

GetManagedHeapSamplers listet die DkmManagedHeapSampler-Elemente dieses DkmRuntimeInstance-Objekts auf.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

(Geerbt von DkmRuntimeInstance)
GetManagedHeapWalkers()

GetManagedHeapWalkers listet die DkmManagedHeapWalker-Elemente dieses DkmRuntimeInstance-Objekts auf.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

(Geerbt von DkmRuntimeInstance)
GetMethodReturnAddresses(DkmClrModuleInstance, DkmClrMethodId)

Interne Hilfsmethode zum Suchen aller ret-Anweisungsadressen in einer bestimmten Methode. NB! Die Adressen verweisen auf die tatsächliche IL, nicht auf den aktuellen/vorherigen Sequenzpunkt!

Standorteinschränkung: Keine.

Diese API wurde in Visual Studio 16 Update 6 (DkmApiVersion.VS16Update6) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetModuleInstances()

GetModuleInstances listet die DkmModuleInstance-Elemente dieses DkmRuntimeInstance-Objekts auf.

(Geerbt von DkmRuntimeInstance)
GetOutOfProcStepAddresses(DkmStepper, DkmStackWalkFrame, DkmSteppingRange[])

Interne Hilfsmethode für die Suche nach Kandidatenadressen für step in/over.

Standorteinschränkung: Keine.

Diese API wurde in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
GetScriptDocumentTreeNodes()

GetScriptDocumentTreeNodes listet die DkmScriptDocumentTreeNode-Elemente dieses DkmRuntimeInstance-Objekts auf.

(Geerbt von DkmRuntimeInstance)
GetSymbolNameForAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetSymbolNameForAddressAsyncResult>)

Ruft den Symbolnamen für die angegebene Adresse mithilfe von Laufzeitinformationen anstelle von Symbolen ab. Derzeit wird dies nur für die CLR-Runtime-instance implementiert.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 16 Update 7 (DkmApiVersion.VS16Update7) eingeführt.

(Geerbt von DkmRuntimeInstance)
GetTaskProviders()

GetTaskProviders listet die DkmTaskProvider-Elemente dieses DkmRuntimeInstance-Objekts auf.

(Geerbt von DkmRuntimeInstance)
GetThreadDisplayProperties(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadDisplayPropertiesAsyncResult>)

Ruft die Anzeigeeigenschaften des Threads ab, einschließlich Anzeigename und Threadkategorie.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
GetThreadName(DkmThread)

Berechnen Sie den Namen eines Threads.

(Geerbt von DkmRuntimeInstance)
GetThreadName(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadNameAsyncResult>)

Berechnen Sie den Namen eines Threads.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

(Geerbt von DkmRuntimeInstance)
GetTypeLayoutForType(DkmManagedTypeId)

Rufen Sie bei Einer verwalteten Typ-ID das Typlayout dieses Typs ab.

Diese API wurde in Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
NotifyStepComplete(DkmStepper)

NotifyStepComplete wird vom Schritt-Manager für alle nicht steuernden Laufzeitinstanzen aufgerufen, wenn ein Schritt abgeschlossen ist.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
OnFuncEvalQuickAbortDllLoaded(DkmThread, Boolean)

Benachrichtigt das Ergebnis des Versuchs, die FEQA-DLL zu laden.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmClrRuntimeInstance)
OnLoadComplete()

Diese Methode wird von einem Debugmonitor aufgerufen, um ein RuntimeInstanceLoadComplete-Ereignis auszulösen. RuntimeInstanceLoadComplete wird derzeit nur für die native Runtime-instance gesendet, dies kann sich jedoch in Zukunft ändern. Das Ereignis wird ausgegeben, nachdem DkmModuleInstance-Objekte für den anfänglichen Satz von Modulen in der Runtime instance erstellt wurden.

Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat.

Diese API wurde in Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) eingeführt.

(Geerbt von DkmRuntimeInstance)
OnNewControllingRuntimeInstance(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

OnNewControllingRuntimeInstance wird vom Stepping-Manager für alle nicht steuernden Laufzeitinstanzen aufgerufen, nachdem die Schrittschiedsführung eine neue steuernde Laufzeit instance ausgewählt hat.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason)

OwnsCurrentExecutionLocation wird vom Schritt-Manager aufgerufen, während er nach Monitoren sucht, um einen Schritt auszuführen. Wenn der aktuelle Speicherort im Debuggee von diesem Monitor verstanden wird, kann hier true zurückgegeben werden, um die Kontrolle über den Schritt zu übernehmen.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
PrepareForFuncEvalQuickAbort(DkmThread, Boolean, UInt64)

Überprüft, ob die FEQA-DLL geladen werden soll.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmClrRuntimeInstance)
ReenableFuncEval(String)

Versucht, func-eval wieder zu aktivieren.

Diese API wurde in Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
RemoveDataItem<T>()

Entfernen Sie die instance von "T" aus diesem Container. Es ist in der Regel nicht erforderlich, diese Methode aufzurufen, da ein Datencontainer automatisch geleert wird, wenn das Objekt geschlossen wird.

(Geerbt von DkmDataContainer)
ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>)

Löst eine CPU InstructionAddress in ein laufzeitspezifisches DkmInstructionAddress-Objekt auf.

Diese API wird derzeit nur von CLR DkmRuntimeInstance-Objekten unterstützt, und die CLR-Laufzeit instance kann derzeit nur Anweisungsadressen finden, die sich in einer Methode befinden, die sich derzeit in der Aufrufliste eines der Threads im Zielprozess befindet.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Standorteinschränkung: Diese API sollte im Allgemeinen auf dem Client aufgerufen werden, kann aber auf dem Server zum Übersetzen von CLR-Adressen aufgerufen werden (aber nicht nativ kompiliert).

(Geerbt von DkmRuntimeInstance)
ResolveCPUInstructionAddress(UInt64, Boolean)

Löst eine CPU InstructionAddress in ein laufzeitspezifisches DkmInstructionAddress-Objekt auf.

Diese API wird derzeit nur von CLR DkmRuntimeInstance-Objekten unterstützt, und die CLR-Laufzeit instance kann derzeit nur Anweisungsadressen finden, die sich in einer Methode befinden, die sich derzeit in der Aufrufliste eines der Threads im Zielprozess befindet.

Standorteinschränkung: Diese API sollte im Allgemeinen auf dem Client aufgerufen werden, kann aber auf dem Server zum Übersetzen von CLR-Adressen aufgerufen werden (aber nicht nativ kompiliert).

(Geerbt von DkmRuntimeInstance)
SetDataItem<T>(DkmDataCreationDisposition, T)

Platzieren Sie ein neues Element im Datencontainer.

(Geerbt von DkmDataContainer)
SetRegisterValue(DkmStackWalkFrame, Int32, ReadOnlyCollection<Byte>)

Legt den Wert des Registers im Kontext des Threads fest. Unterregister, die aus größeren Registern bestehen, werden unterstützt.

(Geerbt von DkmRuntimeInstance)
Step(DkmStepper, DkmStepArbitrationReason)

Der Schritt wird vom Schritt-Manager aufgerufen, nachdem er festgestellt hat, dass dieser Monitor der richtige Monitor ist, um den Schritt auszuführen.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
StepControlRequested(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

StepControlRequested wird vom Stepping-Manager aufgerufen, wenn eine nicht steuernde Runtime instance erkennt, dass der Thread einen Übergang in seine Runtime erreicht hat. Wenn die aktuelle steuernde Laufzeit instance das Schrittschritten beenden kann, sollte sie Gewährt auf TRUE festlegen. Die tatsächliche Steuerung wird erst erteilt, wenn die anfordernde Laufzeit DkmStepper.TakeStepControl aufruft. Dieser zweiteilige Prozess ermöglicht es Aufrufern, die Steuerung mehrerer Stepper gleichzeitig anzufordern.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
StopStep(DkmStepper)

StopStep wird vom Schritt-Manager aufgerufen, wenn der Prozess fortgesetzt wird, um alle verbleibenden Schrittzustände für einen Schrittschritt zu löschen.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance)

TakeStepControl wird vom Schritt-Manager aufgerufen, wenn eine nicht steuernde Runtime instance erkennt, dass der Thread einen Übergang in seine Runtime erreicht hat. Der Schritt-Manager leitet den Aufruf an die aktuelle steuernde Laufzeit instance weiter. Die Runtime instance, die die Steuerung anfordert, sollte zuerst StepControlRequested für alle Stepper aufrufen, die sie steuern möchte. Wenn sie alle auf True festgelegt haben, sollte die Laufzeit instance diese Methode für jeden Schritt aufrufen, den sie kontrolliert.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
TryDisableFuncEval(String)

Versucht, func-eval zu deaktivieren.

Diese API wurde in Visual Studio 17 Update 4 (DkmApiVersion.VS17Update4) eingeführt.

(Geerbt von DkmClrRuntimeInstance)
Unload()

RuntimeInstanceUnload wird vom Dispatcher gesendet, wenn DkmRuntimeInstance::Unload vom Monitor aufgerufen wird.

Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat.

(Geerbt von DkmRuntimeInstance)

Gilt für: