Freigeben über


DkmClrRuntimeInstance Klasse

Definition

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

Abgeleitete Klassen: DkmClrNcRuntimeInstance

public ref class DkmClrRuntimeInstance : Microsoft::VisualStudio::Debugger::DkmRuntimeInstance
[System.Runtime.InteropServices.Guid("ea234770-c86f-1706-8842-c6fb5311ba79")]
public class DkmClrRuntimeInstance : Microsoft.VisualStudio.Debugger.DkmRuntimeInstance
[<System.Runtime.InteropServices.Guid("ea234770-c86f-1706-8842-c6fb5311ba79")>]
type DkmClrRuntimeInstance = class
    inherit DkmRuntimeInstance
Public Class DkmClrRuntimeInstance
Inherits DkmRuntimeInstance
Vererbung
Vererbung
Abgeleitet
Attribute

Eigenschaften

Capabilities

Enumeration der 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 sich entweder um eine lokale Verbindung handelt, wenn der Monitor im selben Prozess wie die IDE ausgeführt wird, oder es kann sich um eine Remoteverbindung handelt. Im Überwachungsprozess gibt es 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 enthält immer den nachfolgenden Schrägstrich.

Id

Identifiziert ein DkmRuntimeInstance-Objekt innerhalb eines Prozesses.

(Geerbt von DkmRuntimeInstance)
IsUnloaded

Gibt true zurück, wenn ein "entladenes" Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass beim Überprüfen dieser status sorgfältig darauf geachtet werden muss, dass die zurückgegebene status 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 oberen Stapelrahmens verwendet, um einen bedingten Haltepunkt auszuwerten, wenn die untergeordnete Runtime keine Stapel selbst schreit.

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 debugt Prozesse, sodass dies die grundlegende Einheit des Debuggens 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").

TagValue

DkmRuntimeInstance ist eine abstrakte Basisklasse. Diese Aufzählung 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 Schrittweisen Schiedsverfahren abgeschlossen sind, aber vor der nächsten Laufzeit instance mit dem Schrittweisen beginnen. Dadurch können Runtimes jeden Schrittstatus löschen, wenn eine andere Laufzeit die Kontrolle übernommen hat. Wenn kein anderer Laufzeitmonitor den aktuellen Speicherort beansprucht hat, sollte der ursprüngliche Monitor den Schritt abschließen. Dies wird durch NewControllingRuntimeInstance als NULL angegeben. Für instance kann eine Runtime-instance einen Schritt zurücktreten, wenn ein Schritt ohne Symbole an einem Ort gelandet ist und keine andere Laufzeit die Kontrolle übernommen hat.

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

(Geerbt von DkmRuntimeInstance)
BeforeEnableNewStepper(DkmStepper)

BeforeEnableNewStepper wird vom Stepping-Manager aufgerufen, bevor ein neuer Schritt aktiviert wird. Dadurch können Runtimes alle erforderlichen Initialisierungen durchführen, z. B. die Durchführung von Funktionsauswertungen im Vorschritt.

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

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

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

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

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

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 aufgerufen werden (Komponentenebene < 100.000).

ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String)

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

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

ContinueForFuncEval(DkmThread, ICorDebugEval, DkmFuncEvalFlags, UInt32, String, DkmClrInstructionAddress)

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

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

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

Create(DkmProcess, DkmRuntimeInstanceId, DkmRuntimeCapabilities, DkmRuntimeInstance, String, 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 aufgerufen werden (Komponentenebene < 100.000).

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

Create(DkmProcess, DkmRuntimeInstanceId, String, 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 aufgerufen werden (Komponentenebene < 100.000).

Disassemble(DkmInstructionAddress, UInt32)

Disassemblieren Sie einen Adressbereich in der Debuggee-Runtime.

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

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.

FindClrModuleInstance(ICorDebugModule)

Ruft DkmClrModuleInstance von einem ICorDebugModule ab.

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

FindModulesByName(String)

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

(Geerbt von DkmRuntimeInstance)
GetActiveStatements(DkmActiveStatement[])

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

Standorteinschränkung: Kann vom Client zum Server aufgerufen werden.

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

GetActiveStatements(DkmWorkList, DkmCompletionRoutine<DkmGetActiveStatementsAsyncResult>)

Stellt den Stapel aller aktiven Anweisungen für alle Threads bereit. Wenn sich also dieselbe Funktion mehrmals in einem Aufrufstapel 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, nachdem 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 vom Client zum Server aufgerufen werden.

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

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.

GetAppDomains()

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

GetApplyUpdateCapabilities()

Rufen Sie die Funktionenzeichenfolge für die Von der Runtime unterstützten Bearbeitungen bearbeiten und fortsetzen ab.

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

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

GetApplyUpdateCapabilities(DkmWorkList, DkmCompletionRoutine<DkmGetApplyUpdateCapabilitiesAsyncResult>)

Rufen Sie die Funktionenzeichenfolge für die Von der Runtime unterstützten Bearbeitungen bearbeiten und fortsetzen ab.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, nachdem 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 aufgerufen werden (Komponentenebene > 100.000).

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

GetArrayLayoutForType(DkmManagedTypeId)

Rufen Sie angesichts einer verwalteten Typ-ID das Arraylayout dieses Typs ab.

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

GetCodePathsInRange(ICorDebugFrame, UInt32, UInt32)

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

Standorteinschränkung: Sie sollte nur serverseitig 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 zum Überprüfen des Zielprozesses verwendet werden und sollte NIE zur Steuerung der Ausführung verwendet werden (kein Schrittschritt, keine Haltepunkte, kein Fortsetzen usw.). Dies wird nicht unterstützt und führt zu einem nicht definierten Verhalten.

Standorteinschränkung: Diese API muss aus demselben Prozess aufgerufen werden, in dem die Ziellaufzeit den Stapellauf implementiert. Beim verwalteten Debuggen bedeutet dies, dass beim Debuggen von 64-Bit- oder Remoteprozessen diese API von einer Debugmonitorkomponente aufgerufen werden muss.

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

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 zum Überprüfen des Zielprozesses verwendet werden und sollte NIE zur Steuerung der Ausführung verwendet werden (kein Schrittschritt, keine Haltepunkte, kein Fortsetzen usw.). Dies wird nicht unterstützt und führt zu einem nicht definierten Verhalten.

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

GetCorThread(DkmThread)

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

Die zurückgegebene Schnittstelle kann NUR zum Überprüfen des Zielprozesses verwendet werden und sollte NIE zur Steuerung der Ausführung verwendet werden (kein Schrittschritt, keine Haltepunkte, kein Fortsetzen usw.). Dies wird nicht unterstützt und führt zu einem nicht definierten Verhalten.

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

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)
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 aufgerufen werden (Komponentenebene > 100.000).

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

GetInstructionAddress(DkmInstructionAddress, Int32)

Gibt die Adresse der kth-Anweisung relativ zu einer Startadresse zurück. Für Befehlssä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 aufgerufen werden (Komponentenebene > 100.000).

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

(Geerbt von DkmRuntimeInstance)
GetIntrinsicAssemblyMetaDataBytesPtr(UInt32)

Rufen Sie Metadaten für die "Systeminterne Methodenassembly" ab. Intrinsische 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 intrinsischen 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.

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

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 Schritt in/over.

Standorteinschränkung: Keine.

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

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, nachdem 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 aufgerufen werden (Komponentenebene > 100.000).

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, nachdem 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 aufgerufen werden (Komponentenebene > 100.000).

(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, nachdem 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.

NotifyStepComplete(DkmStepper)

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

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

(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 aufgerufen werden (Komponentenebene < 100.000).

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, was sich jedoch in Zukunft ändern kann. 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 Schrittschiedssetzung eine neue steuernde Laufzeit instance ausgewählt hat.

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

(Geerbt von DkmRuntimeInstance)
OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason)

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

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

(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 aufgerufen werden (Komponentenebene < 100.000).

ReenableFuncEval(String)

Versucht, func-eval erneut zu aktivieren.

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

RemoveDataItem<T>()

Entfernen Sie den 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-Runtime-instance kann derzeit nur Befehlsadressen finden, die sich in einer Methode befinden, die sich derzeit auf dem Aufrufstapel eines der Threads im Zielprozess befindet.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, nachdem 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 aufgerufen werden, um CLR-Adressen zu übersetzen (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-Runtime-instance kann derzeit nur Befehlsadressen finden, die sich in einer Methode befinden, die sich derzeit auf dem Aufrufstapel eines der Threads im Zielprozess befindet.

Standorteinschränkung: Diese API sollte im Allgemeinen auf dem Client aufgerufen werden, kann aber auf dem Server aufgerufen werden, um CLR-Adressen zu übersetzen (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 zum Ausführen des Schritts ist.

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

(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 zur Laufzeit erreicht hat. Wenn die aktuelle steuernde Runtime instance das Schrittschritt beenden kann, sollte sie Gewährt auf true festlegen. Die tatsächliche Steuerung wird erst dann erteilt, wenn die anfordernde Runtime DkmStepper.TakeStepControl aufruft. Dieser zweiteilige Prozess ermöglicht es Anrufern, die Steuerung mehrerer Stepper gleichzeitig anzufordern.

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

(Geerbt von DkmRuntimeInstance)
StopStep(DkmStepper)

StopStep wird vom Schritt-Manager aufgerufen, wenn der Prozess fortgesetzt wird, um den verbleibenden Schrittstatus für einen Schritt zu löschen.

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

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

TakeStepControl wird vom Stepping-Manager aufgerufen, wenn eine nicht steuernde Runtime instance erkennt, dass der Thread einen Übergang in seine Runtime erreicht hat. Der Stepping-Manager leitet den Aufruf an die aktuelle steuernde Runtime instance weiter. Die Runtime instance das Steuerelement anfordern, sollte zuerst StepControlRequested für alle Stepper aufrufen, die sie steuern möchte. Wenn sie alle Gewährt auf true festlegen, sollte die Runtime instance diese Methode dann für jeden Schritt aufrufen, den sie steuert.

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

(Geerbt von DkmRuntimeInstance)
TryDisableFuncEval(String)

Versucht, func-eval zu deaktivieren.

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

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: