DkmNativeDwarfRuntimeInstance Klasse

Definition

Die dkmnativedwarfruntimeinstance-Klasse stellt eine systemeigene Ausführungsumgebung innerhalb von Modulen mit Zwerg Symbolen dar.

Diese API wurde in Visual Studio 16 Update 5 (dkmapiversion. VS16Update5) eingeführt.

public ref class DkmNativeDwarfRuntimeInstance : Microsoft::VisualStudio::Debugger::DkmRuntimeInstance
[System.Runtime.InteropServices.Guid("0c99ab83-0204-5a5f-64a9-239afb51e309")]
public class DkmNativeDwarfRuntimeInstance : Microsoft.VisualStudio.Debugger.DkmRuntimeInstance
[<System.Runtime.InteropServices.Guid("0c99ab83-0204-5a5f-64a9-239afb51e309")>]
type DkmNativeDwarfRuntimeInstance = class
    inherit DkmRuntimeInstance
Public Class DkmNativeDwarfRuntimeInstance
Inherits DkmRuntimeInstance
Vererbung
Attribute

Eigenschaften

Capabilities

Enumeration der Lauf Zeitfunktionen.

         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. Dabei kann es sich entweder um eine lokale Verbindung handeln, wenn der Monitor in demselben Prozess wie die IDE ausgeführt wird, oder um eine Remote Verbindung. Im Überwachungsprozess gibt es nur eine Verbindung.

(Geerbt von DkmRuntimeInstance)
Id

Identifiziert ein dkmruntimeinstance-Objekt in einem Prozess.

(Geerbt von DkmRuntimeInstance)
IsUnloaded

Gibt "true" zurück, wenn ein "entladen"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: dkmthread:: entladen wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses Status, ohne Synchronisierung, der Status "zurückgegeben" möglicherweise nicht mehr genau der Anweisung entspricht, nachdem er gelesen wurde.

(Geerbt von DkmDataContainer)
ParentRuntime

Optionale Bei Laufzeiten, die auf einer anderen Laufzeit implementiert werden, kann dies optional verwendet werden, um das logische übergeordnete Element nicht zu unterscheiden. Diese kann dann verwendet werden, um Dienste vom übergeordneten Element anzufordern, wenn die untergeordnete Laufzeit den Dienst nicht implementiert. Dies wird derzeit nur zum Abrufen des obersten Stapel Rahmens zum Auswerten eines bedingten halte Punkts verwendet, wenn die untergeordnete Laufzeit keine Stapel selbst durchläuft.

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

(Geerbt von DkmRuntimeInstance)
Process

Dkmprocess stellt einen Ziel Prozess dar, der debuggt wird. Der Debugger debuggt die Prozesse, sodass dies die grundlegende debugeinheit ist. Ein dkmprocess kann einen System Prozess oder einen virtuellen Prozess, z. b. Minidumps, darstellen.

(Geerbt von DkmRuntimeInstance)
TagValue

Dkmruntimeinstance ist eine abstrakte Basisklasse. Diese Enumeration gibt an, welche abgeleitete Klasse dieses Objekt eine Instanz von ist.

(Geerbt von DkmRuntimeInstance)

Methoden

AfterSteppingArbitration(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

Aftersteppingarbitration wird vom Step Manager auf der alten steuernden Lauf Zeit Instanz aufgerufen, nachdem die Ausführung der Ablauf Steuerung beendet wurde, aber bevor die nächste Lauf Zeit Instanz mit der schrittweise Ausführung beginnt. Dadurch können Laufzeiten einen beliebigen Schritt Status löschen, wenn eine andere Laufzeit die Kontrolle über die Kontrolle hat. Wenn kein anderer Lauf Zeit Monitor den aktuellen Speicherort beansprucht hat, sollte der ursprüngliche Monitor den Schritt abschließen. Dies wird durch newcontrollingruntimeingestance angegeben, das NULL ist. Beispielsweise kann eine Lauf Zeit Instanz zurückgehen, wenn ein Schritt in einem Speicherort ohne Symbole gelandet ist und keine andere Laufzeit die Kontrolle über die Kontrolle hat.

Location-Einschrä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 ermöglicht Laufzeiten die Ausführung beliebiger Initialisierungen, die ggf. erforderlich sind, wie z. b. das Ausführen von vordefinierten Funktions Auswertungen.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

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

Erstellt ein neues Lauf Zeit Instanzobjekt aus einem Debugmonitor. Diese Methode muss vom Ereignis Thread aufgerufen werden, wenn ein Debugmonitor erkennt, dass eine neue Lauf Zeit Instanz geladen wurde (z. b. wenn die entsprechende Lauf Zeit-dll in den Ziel Prozess geladen wird).

Diese Methode sendet ein runtimeinstanceload-Ereignis.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 16 Update 5 (dkmapiversion. VS16Update5) eingeführt.

Disassemble(DkmInstructionAddress, UInt32)

Disassembliert einen Adressbereich in der zu entbuggenden Laufzeit.

Location-Einschrä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)
FindModulesByName(String)

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

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

Getcodepathsinrange wird aufgerufen, um Codepfade in einem bestimmten Il-Bereich zu erhalten.

         Location-Einschränkung: Sie sollte nur auf Serverseite aufgerufen werden.

         Diese API wurde in Visual Studio 12 RTM (dkmapiversion. VS12RTM) eingeführt.
(Geerbt von DkmRuntimeInstance)
GetDataItem<T>()

Ruft die Instanz von 't ' ab, die dieser Container Instanz hinzugefügt wurde. Wenn dieser Container kein 't-Zeichen enthält, gibt diese Funktion NULL zurück.

(Geerbt von DkmDataContainer)
GetInstructionAddress(DkmInstructionAddress, Int32)

Gibt die Adresse der tes-Anweisung relativ zu einer Startadresse zurück. Bei konstanten Längen Anweisungs Sätzen handelt es sich hierbei um einfache Arithmetik. Für Anweisungs Sätze mit variabler Länge ist Reverse-Disassembly erforderlich, um diese Adresse zu erhalten.

Location-Einschrä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)
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()

Getmanagedheapwalker listet die dkmmanagedheapwalker-Elemente dieses dkmruntimeinstance-Objekts auf.

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

(Geerbt von DkmRuntimeInstance)
GetModuleInstances()

Getmoduleinstance listet die dkmmoduleinstance-Elemente dieses dkmruntimeinstance-Objekts auf.

(Geerbt von DkmRuntimeInstance)
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. Dies wird zurzeit nur für die CLR-Lauf Zeit Instanz implementiert.

Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde.

Location-Einschrä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 einschließlich des anzeigen Amens und der Thread Kategorie ab.

Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde.

Location-Einschrä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 Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde.

(Geerbt von DkmRuntimeInstance)
NotifyStepComplete(DkmStepper)

Notifystepcomplete wird vom Step Manager für alle nicht steuernden Lauf Zeit Instanzen aufgerufen, wenn ein Schritt vollständig ausgeführt wird.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
OnLoadComplete()

Diese Methode wird von einem Debug-Monitor aufgerufen, um ein runtimeingestanceloadcomplete-Ereignis aufzurufen. Runtimeinstanceloadcomplete wird zurzeit nur für die native Lauf Zeit Instanz 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 Lauf Zeit Instanz 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 Step Manager für alle nicht steuernden Lauf Zeit Instanzen aufgerufen, nachdem bei der schrittweisen Ausführung eine neue steuernde Lauf Zeit Instanz ausgewählt wurde.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason)

Ownscurrentexecutionlocation wird vom Step Manager aufgerufen, während er nach Monitoren sucht, um einen Schritt auszuführen. Wenn die aktuelle Position in der zu debuggenden Komponente von diesem Monitor verstanden wird, kann Sie hier "true" zurückgeben, um die Steuerung des Schritts zu übernehmen.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
RemoveDataItem<T>()

Entfernen Sie die Instanz 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 Lauf Zeit spezifisches dkminstructionaddress-Objekt auf.

Diese API wird derzeit nur von CLR-dkmruntimeinstance-Objekten unterstützt, und die CLR-Lauf Zeit Instanz kann derzeit nur Anweisungs Adressen finden, die sich in einer Methode befinden, die sich derzeit in der Aufrufliste eines Threads im Ziel Prozess befindet.

Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde.

Location-Einschränkung: Diese API sollte in der Regel auf dem Client aufgerufen werden, Sie kann jedoch 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 Lauf Zeit spezifisches dkminstructionaddress-Objekt auf.

Diese API wird derzeit nur von CLR-dkmruntimeinstance-Objekten unterstützt, und die CLR-Lauf Zeit Instanz kann derzeit nur Anweisungs Adressen finden, die sich in einer Methode befinden, die sich derzeit in der Aufrufliste eines Threads im Ziel Prozess befindet.

Location-Einschränkung: Diese API sollte in der Regel auf dem Client aufgerufen werden, Sie kann jedoch auf dem Server aufgerufen werden, um CLR-Adressen zu übersetzen (aber nicht nativ kompiliert).

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

Fügen Sie ein neues Element in den Datencontainer ein.

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

Legt den Wert des Register im Kontext des Threads fest. Unter Register, 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 diesen Schritt auszuführen.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

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

"Stepcontrolangeforderten" wird vom Schritt Manager aufgerufen, wenn eine nicht steuernde Lauf Zeit Instanz erkennt, dass der Thread einen Übergang in seine Laufzeit festgestellt hat. Wenn die aktuelle steuernde Lauf Zeit Instanz die schrittweise Ausführung überschreiten kann, sollte Sie auf true festgelegt werden. Das tatsächliche Steuerelement wird erst angegeben, wenn die anfordernde Laufzeit dkmstepper. takestepcontrol aufruft. Dieser zwei teilige Prozess ermöglicht Aufrufern, gleichzeitig die Steuerung mehrerer Steppers anzufordern.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
StopStep(DkmStepper)

Stop Step wird vom Schritt Manager aufgerufen, wenn der Prozess fortgesetzt wird, um den verbleibenden Schritt Zustand für einen Stepper zu löschen.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

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

Takestepcontrol wird vom Step Manager aufgerufen, wenn eine nicht steuernde Lauf Zeit Instanz erkennt, dass der Thread einen Übergang in seine Laufzeit festgestellt hat. Der Step Manager führt den-Befehl an die aktuelle steuernde Lauf Zeit Instanz weiter. Die Lauf Zeit Instanz, die die Steuerung anfordert, sollte zuerst stepcontrolangeforderten auf allen Stufen aufzurufen, die Sie steuern möchten. Wenn alle auf true festgelegt wurden, sollte die Lauf Zeit Instanz diese Methode auf jedem Stepper, dessen Kontrolle übernimmt, abrufen.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

(Geerbt von DkmRuntimeInstance)
Unload()

Runtimeinstanceentladen wird vom Verteiler gesendet, wenn dkmruntimeinstance:: Entladen vom Monitor aufgerufen wird.

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

(Geerbt von DkmRuntimeInstance)

Gilt für