Freigeben über


Microsoft.VisualStudio.Debugger Namespace

Klassen

DkmBaseDebugMonitorId

DkmBaseDebugMonitorId identifiziert den Basisdebugmonitor, der zum Überprüfen und Steuern des debuggten Prozesses verwendet wird. Beispielsweise wird DkmBaseDebugMonitorId.WindowsProcess für Prozesse verwendet, die von der Win32-Debug-API gedebuggt werden, und DkmBaseDebugMonitorId.DumpFile wird für Minidumps verwendet.

DkmComponentManager

Stellt Dienste vom Dispatcher zum Initialisieren von Threads bereit.

DkmCustomMessage

Nachrichtenstruktur, die verwendet wird, um Informationen zwischen benutzerdefinierten Debugger-Back-End-Komponenten und benutzerdefinierten Visual Studio-UI-Komponenten (Pakete, Add-Ins usw.) zu übergeben.

DkmDataContainer

DkmDataContainer ist ein Baustein, der in dieser API verwendet wird. Viele der Objekte in dieser API können "virtuelle Felder" enthalten, die von einer beliebigen Komponente im System hinzugefügt werden. Dies ähnelt einer typsicheren Version des "expando"-Konzepts in JScript.

Regeln für DkmDataContainer:

  1. Alle Verweisobjekte im System erben von DkmDataContainer. Verweisobjekte werden von der Verteilerkomponente dieses Systems nachverfolgt, und an verschiedenen Marshallingpunkten (verwaltet-nativ>, nativ> verwaltet, Remoting) wird die Objektverweisidentität beibehalten. "Value"-Objekte erben nicht von DkmDataContainer, da das System diese Objekte nicht nachverfolgt, sodass bei jedem Marshallingübergang der Wert des Objekts kopiert wird.
  2. Die "virtuellen Felder" dieser Objekte, die von DkmDataContainer erben, werden als Datenelemente bezeichnet.
  3. Datenelemente sind für die Komponente, die sie hinzugefügt hat, PRIVAT. Dieses Feature kann nicht verwendet werden, um Felder über Komponentengrenzen hinweg gemeinsam zu nutzen.
  4. Datenelemente sind Instanzen einer Datenelementklasse. In verwaltetem Code erben Datenelementklassen von DkmDataItem, um sie als Datenelement zu identifizieren. In systemeigenem Code erben Datenelemente von IUnknown.
  5. Normalerweise müsste eine Komponente niemals ein Datenelement entfernen. Dies liegt daran, dass Datenelemente automatisch entfernt werden, wenn das Containerobjekt geschlossen wird.
DkmDataItem

"DkmDataItem" ist die Basisklasse für alle Datenelementklassen. Weitere Informationen finden Sie unter "DkmDataContainer".

DkmDiagnosticsLog

Statische Klasse, die Methoden zum Protokollieren beim Verteiler Diagnose Protokoll definiert

DkmDotnetVisualizerExtensionInfo

Enthält Informationen zu einer Debuggerschnellansichtserweiterung, die für ein Auswertungsergebnis angezeigt werden kann.

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

DkmEngineId

Dies sind die GUID-Werte der Standard-Engine. Es wird erwartet, dass diese Liste im Laufe der Zeit wächst, daher wird empfohlen, nach einer Einstellung abzufragen, anstatt die EngineId zu vergleichen.

DkmEngineSettings

Enthält die sitzungsweiten Debugeinstellungen. Es gibt eine instance dieses Objekts pro Engine-GUID (z. B. eine instance für COMPlusOnlyEng2, eine instance für COMPlusNativeEng).

DkmEventDescriptor

Beschreibt das verarbeitete Ereignis.

DkmEventDescriptorS

Beschreibt das zu verarbeitende Ereignis und bietet einer Komponente die Möglichkeit, dieses Ereignis zu unterdrücken.

DkmException

Basisausnahmeklasse für alle Ausnahmen innerhalb dieser API.

DkmGlobalSettings

Statische Klasse mit Einstellungen, die für den Debuggerprozess global sind

DkmInstructionAddress

Abstrakte Darstellung eines ausführbaren Codespeicherorts (z. B. EIP-Wert). Wenn sie aufgelöst wird, befindet sich eine Anweisungsadresse innerhalb eines bestimmten Moduls instance. Eine Anweisungsadresse befindet sich immer innerhalb einer bestimmten Laufzeitinstanz.

Abgeleitete Klassen: DkmClrInstructionAddress, DkmClrNcInstructionAddress, DkmCustomInstructionAddress, DkmNativeInstructionAddress, DkmScriptInstructionAddress, DkmUnknownInstructionAddress

DkmInstructionAddress.CPUInstruction

CPUInstruction stellt die Adresse bereit, die von der CPU ausgeführt wird. Dies wird immer für native Anweisungen bereitgestellt. Es kann für CLR oder benutzerdefinierte Adressen bereitgestellt werden, je nachdem, wie das Adressobjekt erstellt wurde.

DkmLanguageRegistrySetting

Kopplung zwischen dem Namen einer Einstellung und ihrem Wert.

DkmModuleInstance

Die Module Instance-Klasse stellt ein Codepaket (z. B. dll oder exe) dar, das an einem bestimmten Speicherort in einen bestimmten Prozess geladen wird. Module Instance-Objekte sind 1:1 mit dem Konzept eines Codepakets in der Ausführungsumgebung. In systemeigenem Code sind beispielsweise Module Instance-Objekte 1:1 mit Basisadresse.

Abgeleitete Klassen: DkmClrModuleInstance, DkmClrNcModuleInstance, DkmCustomModuleInstance, DkmNativeModuleInstance, DkmClrNcContainerModuleInstance

DkmModuleInstance.MinidumpInfo

"MinidumpInfo" wird verwendet, um zusätzliche Informationen zu Modulen in einem DkmProcess für einen Minidump zu vermitteln.

DkmModuleVersion

Dateiversionsinformationen.

DkmNativeEESettings

Enthält die Konfigurationseinstellungen für die Systemeigene Ausdrucksauswertung.

Diese API wurde in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) eingeführt.

DkmPerformanceCounters

Sammlung von Prozessausführungsindikatoren.

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

DkmProcess

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.

DkmProcess.Live

Informationen, die für einen ausgeführten Prozess relevant sind. Beispielsweise ist dieser Teil NICHT für Minidumps vorhanden.

DkmProcessExecutionCounters

Speichert einen QPC-Zeitstempel für ein Prozessstopp-/Wiederaufnahmeereignis.

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

DkmProcessSnapshot

DkmProcessSnapshot stellt eine Momentaufnahme dar, die über einen ausgeführten Prozess erfasst wird.

Diese API wurde in Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3) eingeführt.

DkmReadOnlyByteCollection

Eine Implementierung von ReadOnlyCollection, die einen Zeiger auf den zugrunde liegenden nativen Arbeitsspeicher bereitstellen kann. Derzeit wird diese Klasse nur für ReadOnlyCollections verwendet, die Bytes speichert, wenn der Wert über einen Concord-API-Aufruf übergeben wird.

DkmRegistryTweak

Ein Schlüssel-Wert-Paar, das aus der Registrierung gelesen wird.

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

DkmRuntimeId

Die Laufzeit-ID identifiziert die Ausführungsumgebung für einen bestimmten Codeabschnitt. Laufzeit-IDs werden vom Verteiler verwendet, um zu entscheiden, an welchen Monitor die Verteilung erfolgen soll. Beachten Sie, dass die Reihenfolge der Laufzeit-ID-GUIds etwas signifikant ist, da dies vorschreibt, welche Laufzeit während des Schiedsverfahrens den ersten Schuss erhält. Wenn sie also eine neue Runtime-instance die auf der CLR basiert, deklarieren möchte, sollte die Laufzeit-ID kleiner als DkmRuntimeId.Clr sein.

DkmRuntimeInstance

Die DkmRuntimeInstance-Klasse stellt eine Ausführungsumgebung dar, die in einen DkmProcess geladen wird und den zu debuggenden Code enthält.

Abgeleitete Klassen: DkmClrRuntimeInstance, DkmClrNcRuntimeInstance, DkmCustomRuntimeInstance, DkmNativeRuntimeInstance, DkmScriptRuntimeInstance, DkmNativeDwarfRuntimeInstance, DkmOpenEnclaveRuntimeInstance

DkmSourceId

Identifiziert die Quelle eines Objekts. SourceIds werden verwendet, um die Filterung in Szenarien zu aktivieren, in denen mehrere Komponenten Instanzen einer Klasse erstellen können. Beispielsweise können Quell-IDs verwendet werden, um zu bestimmen, ob ein Haltepunkt aus dem AD7 AL stammt (z. B. Benutzerhaltepunkt oder ein anderer Haltepunkt, der auf SDM-Ebene sichtbar ist) anstelle eines Haltepunkts, der von einer anderen Komponente erstellt werden kann (z. B. einem internen Haltepunkt, der zum Springen verwendet wird).

DkmThread

DkmThread stellt einen Thread dar, der im Zielprozess ausgeführt wird.

Abgeleitete Klassen: DkmGPUComputeThread, DkmVirtualThread

DkmThread.System

Beschreibt Merkmale des Threads, die für einen vollständigen Win32-Thread relevant sind. Derzeit ist dieser Wert erforderlich, und alle Threads verfügen über einen "System"-Block. In Zukunft kann dieser Wert NULL sein, wenn DkmThread etwas anderes als einen vollständigen Win32-Thread darstellt.

DkmTraceTimeContext

Ein Zeitpunkt innerhalb einer Zeitreiseablaufverfolgung. Die interne Darstellung ist ein Implementierungsdetails des Erstellers.

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

DkmUnknownInstructionAddress

Stellt eine Adresse dar, die nicht in ein Modul aufgelöst werden konnte.

DkmUserMessage

Enthält Informationen zu einer Meldung, die dem Benutzer angezeigt werden soll.

DkmVirtualThread

DkmVirtualThread stellt einen Thread dar, der im Debugprozess physisch nicht vorhanden ist.

Diese API wurde in Visual Studio 16 Update 2 (DkmApiVersion.VS16Update2) eingeführt.

DkmWaitUIOperation

Stellt einen Vorgang dar, der im Debugger-Back-End ausgeführt wird und möglicherweise langsam ist, sodass der Benutzer informiert werden sollte, wenn er die angegebene Verzögerung länger dauert.

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

DkmWorkList

Sammlung von asynchronen Arbeitselementen, die zusammen verarbeitet werden. Arbeitselemente werden angefügt, indem eine der asynchronen Methoden in dieser API aufgerufen wird. Arbeitselemente können frei angefügt werden, bis die Ausführung der Arbeitsliste beginnt. Sobald die Ausführung begonnen hat, können zusätzliche Arbeiten nur aus der Implementierung einer Arbeitselementverarbeitungsschnittstelle oder aus einer Vervollständigungsroutine angefügt werden.

Strukturen

DkmDisplayUserMessagePromptAsyncResult

Ergebnis eines asynchronen DkmUserMessage.DisplayPrompt-Aufrufs.

DkmGetCurrentCPUAddressAsyncResult

Ergebnis eines asynchronen DkmInstructionAddress.GetCurrentCPUAddress-Aufrufs.

DkmGetInstructionAddressAsyncResult

Ergebnis eines asynchronen DkmProcess.GetInstructionAddress-Aufrufs.

DkmGetRelativeInstructionAddressAsyncResult

Ergebnis eines asynchronen DkmProcess.GetInstructionAddress-Aufrufs.

DkmGetSymbolSearchResultAsyncResult

Ergebnis eines asynchronen DkmModuleInstance.GetSymbolSearchResult-Aufrufs.

DkmModuleInstanceIsUserCodeAsyncResult

Ergebnis eines asynchronen DkmModuleInstance.IsUserCode-Aufrufs.

DkmPerformanceCountersAsyncResult

Ergebnis eines asynchronen DkmProcess.QueryPerformanceCounters-Aufrufs.

DkmResolveCPUInstructionAddressAsyncResult

Ergebnis eines asynchronen DkmRuntimeInstance.ResolveCPUInstructionAddress-Aufrufs.

DkmRuntimeInstanceId

Identifiziert ein DkmRuntimeInstance-Objekt innerhalb eines Prozesses.

DkmSendLowerAsyncResult

Ergebnis eines asynchronen DkmCustomMessage.SendLower-Aufrufs.

DkmTryLoadBinaryAsyncResult

Ergebnis eines asynchronen DkmModuleInstance.TryLoadBinary-Aufrufs.

DkmXmm128

DkmXmm128 stellt den Inhalt eines 128-Bit-XMM-Registers auf x64-Systemen dar.

Enumerationen

DkmApiVersion

Enumerationscode der verschiedenen Versionen dieser API.

DkmAsyncBreakStatus

Gibt den Typ des async-Break an, der aufgetreten ist.

DkmClientUI

Gibt den Typ der Benutzeroberfläche an, der eine instance der Engine antreibt.

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

DkmDataCreationDisposition

Aktion, die ausgeführt werden soll, wenn sich das Datenelement bereits im Container befindet.

DkmDecompilerMode

Modi, in denen ein Modul dekompiliert werden kann.

Diese API wurde in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) eingeführt.

DkmDispatcherObjectFlags

Interne Flags, die den aktuellen Zustand eines Verteilerobjekts angeben.

DkmDotnetVisualizerExtensionStyle

Gibt an, wie eine Schnellansicht beim Öffnen angezeigt werden soll.

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

DkmDumpType

Typ des zu speichernden Speicherabbilds.

DkmEngineFlags

Flags, die unveränderliche Merkmale dieser Engine-Einstellungen angeben.

DkmEventCode

Enumeration aller Ereignisse, die derzeit in dieser API definiert sind.

DkmExceptionCode

Definiert die von dieser API verwendeten HRESULT-Codes.

DkmFuncEvalAbortLoggingFlags

Flags, die angeben, welche Art von Protokollierung bei einem abbruch des Typs "Func eval" ausgeführt werden soll.

Diese API wurde in Visual Studio 15 Update 4 (DkmApiVersion.VS15Update4) eingeführt.

DkmFuncEvalMode

Gibt an, ob im Zielprozess eine Funktionsauswertung erfolgt und ob Beendigungsereignisse für diese Auswertung zulässig sind.

DkmInstructionAddress.Tag

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

DkmLogLevel

Gibt die Ausführlichkeit einer Protokollierung an, die dem Diagnose-Protokoll (DkmDiagnosticsLog) hinzugefügt wird. Um eine triviale Überprüfung zu ermöglichen, ob eine bestimmte Protokollebene aktiviert ist, wird dies als Flag-Enumeration deklariert, aber mit sehr wenigen Ausnahmen, falls vorhanden, sollten Nachrichten ein einzelnes Flag festlegen.

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

DkmMemoryTimeFlags

Enumeration, die die Zeit beschreibt, in die ein Speicherlesevorgang im Hinblick auf die aktuelle Prozesszeit aufgelöst wird.

Diese API wurde in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) eingeführt.

DkmModuleFlags

Flags, die Merkmale einer DkmModuleInstance angeben.

DkmModuleInstance.Tag

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

DkmModuleMemoryLayout

Enumeration, die angibt, wie ein Modul im Arbeitsspeicher angeordnet ist.

DkmProcessExecuteDirection

Gibt die Richtung an, in der der Prozess ausgeführt wird.

Diese API wurde in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) eingeführt.

DkmProcessorArchitecture
DkmReadMemoryFlags

Flags, die das Verhalten von DkmProcess.ReadMemory und DkmProcess.ReadMemoryString steuern.

DkmRuntimeCapabilities

Enumeration von Laufzeitfunktionen.

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

DkmRuntimeInstance.Tag

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

DkmStoppingEventProcessingNextAction

Statuscode, der an den Basisdebugmonitor zurückgegeben wird, um die nächste Aktion anzugeben, die beim Beenden der Ereignisverarbeitung ausgeführt werden soll.

DkmUserMessageOutputKind

Gibt an, wo eine DkmUserMessage innerhalb der Debugger-IDE ausgegeben werden soll.

DkmWaitUIOperationFlags

Flags für eine DkmWaitUIOperation.

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

DkmWorkListExecutionThread

Argument für DkmWorkList.BeginExecution, um anzugeben, wo die Arbeitselemente in der Arbeitsliste ausgeführt werden sollen.

DkmWorkListPriority

Prioritätsklasse von Arbeitslisten von "Hoch" bis "Im Leerlauf". @Note: Muss mit der verwalteten Definition synchronisiert werden.

ExceptionConditionCallStackBehavior
ExceptionConditionOperator
ExceptionConditionType
GCReferenceType
MessageBoxFlags
MinidumpFlags

Delegaten

DkmCompletionRoutine<TResult>

Funktion, die ausgelöst wird, wenn eine asynchrone Anforderung abgeschlossen wird.

DkmWorkListCompletionRoutine

Optionale Funktion, die ausgelöst wird, wenn die Arbeitsliste abgeschlossen ist, einschließlich des Auslösens aller Vervollständigungsroutinen.

DkmWorkListProgressRoutine

Optionale Funktion, die ausgelöst wird, wenn der Fortschritt der Arbeitsliste aktualisiert wird.