Freigeben über


Microsoft.VisualStudio.Debugger.ComponentInterfaces Namespace

Schnittstellen

IDkmActiveScriptDebugMonitor

Schnittstelle, die vom Skript-DM implementiert wird, um direkten Zugriff auf die Zielskriptlaufzeit zu ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmAfterSetNextStatementNotification

IDkmAfterSetNextStatementNotification wird von Komponenten implementiert, die Benachrichtigungen erhalten möchten, nachdem eine festgelegte nächste Anweisung abgeschlossen wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmAppDomainCreatedNotification

IDkmAppDomainCreatedNotification wird von Komponenten implementiert, die auf das AppDomainCreated-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. AppDomainCreated wird ausgelöst, wenn eine AppDomain vom Zielprozess erstellt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

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

IDkmAppDomainUnloadedNotification

IDkmAppDomainUnloadedNotification wird von Komponenten implementiert, die auf das AppDomainUnloaded-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. AppDomainUnloaded wird ausgelöst, wenn eine AppDomain vom Zielprozess entladen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

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

IDkmAppPackageInfo

Schnittstelle zum Auflisten von App-Paketinformationen auf dem lokalen oder Remotesystem.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: TransportKind.

IDkmAsyncBreak

Diese Schnittstelle enthält die API zum Ausführen eines asynchronen Umbruchs im Debuggeeprozess.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmAsyncBreakCompleteNotification

IDkmAsyncBreakCompleteNotification wird von Komponenten implementiert, die auf das AsyncBreakComplete-Ereignis lauschen möchten. IDkmAsyncBreakCompleteNotification wird nach allen Implementierungen von IDkmAsyncBreakCompleteReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Wird von einem Debugmonitor gesendet, nachdem eine Anforderung zum Asynchronisieren des Prozesses abgeschlossen wurde.

AsyncBreakComplete-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmAsyncBreakCompleteReceived

IDkmAsyncBreakCompleteReceived wird von Komponenten implementiert, die auf das AsyncBreakComplete-Ereignis lauschen möchten. IDkmAsyncBreakCompleteReceived wird vor IDkmAsyncBreakCompleteNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Wird von einem Debugmonitor gesendet, nachdem eine Anforderung zum Asynchronisieren des Prozesses abgeschlossen wurde.

AsyncBreakComplete-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmAsyncStateMachineDecoder170

Stellt Informationen auf Metadatenebene zu asynchronen Zustandscomputermethoden bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

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

IDkmAsyncTaskDecoder

Führen Sie asynchrone Aufruflisten und Aufgabenerstellungsstapel durch.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId, SymbolProviderId, TaskProviderId.

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

IDkmBaseFuncEvalService

Schnittstelle, die von Basisdebugmonitoren implementiert wird, um das Fortsetzen des Prozesses für eine Funktionsauswertung zu ermöglichen. Diese Schnittstelle enthält die grundlegenden Dienste, die von "ExecuteFuncEval" verwendet werden. Setup, Bereinigung, Timeoutbehandlung, Ausnahmebehandlung und Vervollständigungserkennung werden von den Debugmonitoren auf höherer Ebene verarbeitet.

Diese Schnittstelle wird nicht für das Debuggen von CLR v2 bereitgestellt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmBaseNativeExecutionController

IDkmBaseNativeExecutionController wird von Basisdebugmonitoren implementiert, die das Festlegen nativer Haltepunkte oder einzelner Schritte über native Anweisungen unterstützen. Es stellt die erweiterten Ausführungssteuerungsgrundsätze bereit, die für das CLR-Debuggen erforderlich sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmBeforeContinueExecutionNotification

Stellt eine Benachrichtigung bereit, dass der Prozess die Ausführung fortsetzen wird. Diese Funktion wird aufgerufen, bevor relevante Stepper initialisiert werden, sodass func-evals ausgeführt werden können.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmBeforeStopDebuggingNotification

Stellt eine Benachrichtigung bereit, dass der Prozess getrennt oder beendet werden soll.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmBinaryLoadedNotification

IDkmBinaryLoadedNotification wird von Komponenten implementiert, die auf das BinaryLoaded-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. Gibt an, dass wir die Binärdatei eines Moduls erfolgreich in den Minidump geladen haben, den wir debuggen.

BinaryLoaded-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmBinaryLocator

Diese Schnittstelle enthält Vom Symbolanbieter implementierte Methoden, mit denen Debugmonitore nach Binärdateien auf Symbolservern und lokalen Datenträgern suchen können. Dies ist erforderlich, da die Symbolserver-APIs nicht threadsicher sind und der Symbolanbieter zugriff darauf besitzt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmBinaryLocator11a

Erweitert die Funktionalität des binären Locators.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

Diese API wurde in Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) eingeführt.

IDkmBinaryReloadOpportunityNotification

IDkmBinaryReloadOpportunityNotification wird von Komponenten implementiert, die auf das BinaryReloadOpportunity-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. Beim Minidumpdebuggen wird von MinidumpBDM ausgelöst, um Binärdatei zu verschieben, wenn der Benutzer versucht, die Binärdatei manuell zu laden.

BinaryReloadOpportunity-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmBoundBreakpointHitNotification

IDkmBoundBreakpointHitNotification wird von Komponenten implementiert, die auf das BoundBreakpointHit-Ereignis lauschen möchten. IDkmBoundBreakpointHitNotification wird nach allen Implementierungen von IDkmBoundBreakpointHitReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Stellt eine Benachrichtigung bereit, dass ein gebundener Haltepunkt (DkmBoundBreakpoint) erreicht wurde. Gebundene Haltepunkte sind die Übergeordneten Breakpointobjekte. Die Benachrichtigung für die Haltepunkte auf niedriger Ebene (DkmRuntimeBreakpoint) wird über das RuntimeBreakpoint-Ereignis abgerufen.

BoundBreakpointHit-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBoundBreakpointHitReceived

IDkmBoundBreakpointHitReceived wird von Komponenten implementiert, die auf das BoundBreakpointHit-Ereignis lauschen möchten. IDkmBoundBreakpointHitReceived wird vor IDkmBoundBreakpointHitNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Stellt eine Benachrichtigung bereit, dass ein gebundener Haltepunkt (DkmBoundBreakpoint) erreicht wurde. Gebundene Haltepunkte sind die Übergeordneten Breakpointobjekte. Die Benachrichtigung für die Haltepunkte auf niedriger Ebene (DkmRuntimeBreakpoint) wird über das RuntimeBreakpoint-Ereignis abgerufen.

BoundBreakpointHit-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBreakpointConditionProcessor

Auf dem Zielcomputer implementierte Schnittstelle, um die Auswertung von Haltepunktbedingungen und Trefferanzahlen zu verarbeiten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmBreakpointConditionProcessorClient

Wird von Aufrufern von DkmRuntimeBreakpoint.SetCompiledConditionPending implementiert, um kompilierte Bedingungen bereitzustellen, wenn ein Haltepunkt erreicht wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmBreakpointConditionProcessorClient140

Wird von Aufrufern von DkmRuntimeBreakpoint.SetCompiledConditionPending implementiert, um kompilierte Bedingungen bereitzustellen, wenn ein Haltepunkt erreicht wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

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

IDkmBreakpointConditionProcessorGpuExtension

Erweiterungsschnittstelle für GPU-Debugging, die auf dem Zielcomputer implementiert ist, um die Auswertung von Breakpointbedingungen zu verarbeiten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmBreakpointConditionThreadSelectorForGpu

Schnittstelle, die auf dem Zielcomputer implementiert ist, um die Auswertung von Haltepunktbedingungen für alle beendeten Threads zu verarbeiten und den Thread auszuwählen, dessen Bedingung für gpu true ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Diese API wurde in Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) eingeführt.

IDkmBreakpointHitWithErrorNotification

IDkmBreakpointHitWithErrorNotification wird von Komponenten implementiert, die auf das BreakpointHitWithError-Ereignis lauschen möchten. IDkmBreakpointHitWithErrorNotification wird nach allen Implementierungen von IDkmBreakpointHitWithErrorReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Stellt eine Benachrichtigung bereit, dass ein ausstehender Haltepunkt erreicht wurde, die Verarbeitung jedoch zu einem nicht wiederherstellbaren Fehler geführt hat. Der Prozess wird nun beendet, und der Haltepunkt befindet sich jetzt in einem Fehlerzustand und wird nicht erneut getroffen.

BreakpointHitWithError-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

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

IDkmBreakpointHitWithErrorReceived

IDkmBreakpointHitWithErrorReceived wird von Komponenten implementiert, die auf das BreakpointHitWithError-Ereignis lauschen möchten. IDkmBreakpointHitWithErrorReceived wird vor IDkmBreakpointHitWithErrorNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Stellt eine Benachrichtigung bereit, dass ein ausstehender Haltepunkt erreicht wurde, die Verarbeitung jedoch zu einem nicht wiederherstellbaren Fehler geführt hat. Der Prozess wird nun beendet, und der Haltepunkt befindet sich jetzt in einem Fehlerzustand und wird nicht erneut getroffen.

BreakpointHitWithError-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

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

IDkmBreakpointManager

Diese Schnittstelle wird von der Breakpoint-Manager-Komponente implementiert, um die Standardbehandlung für Haltepunkte bereitzustellen. Andere Komponenten im System können diese Schnittstelle auch implementieren, um die Bedeutung von Haltepunkten für bestimmte Sprachen neu zuzuordnen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBreakpointManagerFileUpdate

Schnittstelle, die von Breakpoint-Managern implementiert wird, die Benachrichtigungen erhalten möchten, wenn Dateien in der IDE aktualisiert werden.

Implementierungen dieser Schnittstelle werden immer aufgerufen (keine Filterung wird unterstützt). Um die Auswirkungen auf den Arbeitsspeicher zu verringern, wird empfohlen, diese Schnittstelle in einer kleinen DLL zu implementieren oder die Implementierung mit "CallOnlyWhenLoaded="true" zu konfigurieren.

IDkmBreakpointManagerNotification

Diese Schnittstelle wird durch Komponenten implementiert, die dem Haltepunkt-Manager Haltepunkte hinzufügen (z. B. AD7 AL). Dadurch kann eine Komponente benachrichtigt werden, wenn der Haltepunkt-Manager einen Haltepunkt bindet oder einen Haltepunktfehler oder eine Warnung erkennt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBreakpointManagerNotification174

Diese Schnittstelle wird durch Komponenten implementiert, die dem Haltepunkt-Manager Haltepunkte hinzufügen (z. B. AD7 AL). Dadurch kann eine Komponente benachrichtigt werden, wenn der Haltepunkt-Manager einen Haltepunkt bindet oder einen Haltepunktfehler oder eine Warnung erkennt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

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

IDkmBreakpointManagerNotification176

Diese Schnittstelle wird durch Komponenten implementiert, die dem Haltepunkt-Manager Haltepunkte hinzufügen (z. B. AD7 AL). Dadurch kann eine Komponente benachrichtigt werden, wenn der Haltepunkt-Manager einen Haltepunkt bindet oder einen Haltepunktfehler oder eine Warnung erkennt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

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

IDkmCallStackFilter

Ermöglicht einer Komponente, dem Aufrufstapel zusätzliche Anmerkungen hinzuzufügen oder physische Frames aus dem Aufrufstapel zu entfernen. Aus Leistungsgründen werden Stapelrahmenfilter vor der Auswertung durch Ausdrucksauswerter aufgerufen. Ein Beispiel für einen Stapelrahmenfilter ist das Ausblenden von externem Code im Aufrufstapel. Framefilter, die asynchrone Stapellaufkontexte hinzufügen, müssen eine Priorität von Normal oder höher haben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TaskProviderId.

IDkmClrAppDomainNameChanged

Schnittstelle zum Aktualisieren des Namens der AppDomain.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmClrCustomVisualizerObjectProvider

Instanziiert den debuggee-side Custom Visualizer-Typ im Debuggee und stellt Methoden zum Zugreifen auf das visualisierte Objekt ('Visualizer-Objekt') bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

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

IDkmClrCustomVisualizerObjectProvider1610

Instanziiert den debuggeeseitigen benutzerdefinierten Visualizer-Typ im Debuggee und stellt Methoden zum Zugreifen auf das visualisierte Objekt ('Visualizer-Objekt') bereit, wobei berücksichtigt wird, dass der BinaryFormatter möglicherweise nicht für die Kommunikation mit diesem unterstützt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

Diese API wurde in Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) eingeführt.

IDkmClrDebugMonitorExceptionCaughtNotification

IDkmClrDebugMonitorExceptionCaughtNotification wird von Komponenten implementiert, die auf das ClrDebugMonitorExceptionCaught-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. Das Ereignis "ClrDebugMonitorExceptionCaught" stellt eine Benachrichtigung vom Managed Debug Monitor über eine abgefangene Ausnahme bereit, die innerhalb des Zielprozesses aufgetreten ist. Dieses Ereignis wird von Diagnosetools wie IntelliTrace genutzt, um in ihrer TraceDebugger.\n protokolliert zu werden.

ClrDebugMonitorExceptionCaught-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

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

IDkmClrDecompiler

Stellt Dekompilierungsdienste für CLR-Typen bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrDecompiler173

Stellt Dekompilierungsdienste für CLR-Typen bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

IDkmClrDecompiler175

Stellt Dekompilierungsdienste für CLR-Module bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrDecompiler177

Stellt Dekompilierungsdienste für CLR-Module bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrExceptionDetailsProvider

Mit dieser Schnittstelle können Debugmonitore zusätzliche Informationen zu CLR-Ausnahmen in Form von Ausnahmedetails bereitstellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, ExceptionCategory, RuntimeId.

Diese API wurde in Visual Studio 15 Update 7 (DkmApiVersion.VS15Update7) eingeführt.

IDkmClrExpressionCompiler

Ermöglicht Compilern für verwaltete Sprachen das Kompilieren von Ausdrücken zur Verwendung durch den Debugger zur Unterstützung der Ausdrucksauswertung und bedingter Haltepunkte.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId.

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

IDkmClrExpressionCompilerCallback

Ermöglicht Compilern für verwaltete Sprachen das Kompilieren von Ausdrücken zur Verwendung durch den Debugger zur Unterstützung der Ausdrucksauswertung. Diese Schnittstelle enthält Methoden, die vom Monitor aufgerufen werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId.

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

IDkmClrExpressionEvaluatorCallbackInternal

Interne Methoden, die vom CLR-Ausdrucksauswerter für die Kommunikation zwischen dem Monitor/der IDE verwendet werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId.

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

IDkmClrFormatter

Formatiert Werte und Typnamen von Auswertungsergebnissen in Zeichenfolgen, die für die zu debuggende Sprache geeignet sind. Compilerhersteller können diese Schnittstelle implementieren, um die Wertformatierung für ihre Sprache anzupassen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId.

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

IDkmClrFormatter2

Formatiert Werte der Auswertungsergebnisse in eine Zeichenfolge, die für die zu debuggende Sprache geeignet ist. Compilerhersteller können diese Schnittstelle implementieren, um die Wertformatierung für ihre Sprache anzupassen. Diese Schnittstelle ist eine Ergänzung zur IDkmClrFormatter-Schnittstelle.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId.

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

IDkmClrFrameGenericParameterProvider

Bietet die Möglichkeit, die generischen Parameter für einen Stapelrahmen abzurufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrFrameTypesProvider

Wird intern verwendet, um Typinformationen zu einem Stapelrahmen für Null-Verweisausnahmeinformationen abzufragen. Diese Schnittstelle kann sich in zukünftigen Versionen von Visual Studio ändern.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrFullNameProvider

Stellt vollständige Namen für bestimmte Ausdrücke bereit. Vollständige Namen werden für das Feature Zur Überwachung hinzufügen verwendet.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

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

IDkmClrFullNameProvider2

Stellt sprachspezifische Namen für Metadatenbezeichner bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

Diese API wurde in Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) eingeführt.

IDkmClrInspectionQueryProcessor

Ermöglicht die Ausführung von Abfragen, die in Managed IL kompiliert wurden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmClrIntrinsicAssemblyProvider

Enthält die Methode zum Laden der assembly intrinsischen Methoden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmClrManagedHeapStringProvider

Vom CLR-Inspektor implementierte Schnittstelle, um Zeichenfolgen effizient auszuwerten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmClrManagedHeapTypeLayoutProvider

Schnittstelle, die vom CLR-Inspektor implementiert wird, um Typlayoutinformationen bereitzustellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmClrMetaDataLoader

Methoden zum Laden von Metadaten für Module, die nicht im Debugvorgang geladen werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

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

IDkmClrMetaDataProvider

Schnittstelle, die vom verwalteten DM implementiert wird, um die Metadaten aus einem bestimmten Modul abzurufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmClrMetaDataProvider140

Methoden für den Zugriff auf Metadaten hinzugefügt, die in VS14RTM hinzugefügt wurden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrMetaDataProvider150

Methoden für den Zugriff auf Basismetadaten (original) hinzugefügt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrMethodSignatureHelper

Stellt eine Methode zum Abrufen des Signaturtokens für eine lokale Variablensignatur mit einem Methodentoken bereit. Wenn die Methode über EnC geändert wurde, gibt diese Methode das neueste Blobtoken zurück.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrModuleLookup

Ruft DkmClrModuleInstance von einem ICorDebugModule ab.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmClrNcInstructionAddressResolver

Schnittstelle zum Auflösen des Typ-Ref-Tokens in typ def und der zugeordneten Assembly.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrObjectFavoritesCacheCallback

Stellt Ergebnisformatierer mit Objektfavoriteninformationen bereit, die auf der Remoteseite zwischengespeichert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Diese API wurde in Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) eingeführt.

IDkmClrPropertyInterpreter

Methoden zum Auswerten der Eigenschaft für ICorDebugValueHandles.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

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

IDkmClrPropertyInterpreter151

Methoden zum Auswerten der Eigenschaft für ICorDebugValueHandles.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrResultProvider

Stellt DkmEvaluationResults für DkmClrValues bereit. Compileranbieter können diese Schnittstelle implementieren, um die Art und Weise zu ändern, wie Werte erweitert und dem Benutzer angezeigt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId.

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

IDkmClrRuntimeDebugMonitor

Vom verwalteten DM implementierte Schnittstelle zum Abrufen von Informationen zum aktuellen Laufzeitstatus des Prozesses.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmClrRuntimeDebugMonitor150

Vom verwalteten DM implementierte Schnittstelle zum Abrufen von Informationen zum aktuellen Laufzeitstatus des Prozesses.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrRuntimeDebugMonitorDirect

Vom verwalteten DM implementierte Schnittstelle, um Ausdrucksauswertern und anderen Komponenten direkten Zugriff auf ICorDebug-Schnittstellen zu ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmClrSymbolCallback

Mit dieser API kann ein Ausdrucksauswerter Informationen abrufen, die in einem CLR-PDB-Datei- oder CLR-Symbolspeicher für dynamische Module enthalten sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

IDkmClrSymbolCallback120

Erweiterung von IDkmClrSymbolCallback zur Unterstützung von ClrNc-Szenarien.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmClrSymbolCallback160

Verbesserungen des Symbolanbieterrückrufs für Visual Studio 2019 hinzugefügt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmClrSymbolSignatureCallback

Stellt APIs für Ausdrucksauswerter bereit, um die Signatur lokaler Variablen und Konstanten abzurufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

IDkmClrSymUnmanagedReaderFactory

Diese API stellt eine partielle Implementierung von ISymUnmanagedReader2 für ein CLR-Modul instance bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrTypeResolver

Schnittstelle zum Auflösen von Typen aus Zeichenfolgen in Methoden-IDs oder Typ-IDs.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

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

IDkmClrTypeRuntimeInfoProvider

Wird intern verwendet, um ICorDebugType- und Größeninformationen aus einem DkmClrType abzufragen. Diese Schnittstelle kann in zukünftigen Versionen von Visual Studio geändert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

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

IDkmClrTypeRuntimeInfoProvider178

Von der verwalteten DM implementierte Schnittstelle, um Typinformationen aus der CLR bereitzustellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrUIVisualizerService

Wird von Ausdrucksauswertern implementiert, die die C#-EE-Methode von benutzerdefinierten Viewern unterstützen (d. h. IPropertyProxyEESide). Diese Schnittstelle kann in zukünftigen Versionen geändert werden.

Implementierungen dieser Schnittstelle werden immer aufgerufen (keine Filterung wird unterstützt). Um die Auswirkungen auf den Arbeitsspeicher zu verringern, wird empfohlen, diese Schnittstelle in einer kleinen DLL zu implementieren oder die Implementierung mit "CallOnlyWhenLoaded="true" zu konfigurieren.

IDkmClrUIVisualizerService120

Wird von Ausdrucksauswertern implementiert, die die C#-EE-Methode von benutzerdefinierten Viewern unterstützen (d. h. IPropertyProxyEESide). Diese Schnittstelle kann in zukünftigen Versionen geändert werden.

Implementierungen dieser Schnittstelle werden immer aufgerufen (keine Filterung wird unterstützt). Um die Auswirkungen auf den Arbeitsspeicher zu verringern, wird empfohlen, diese Schnittstelle in einer kleinen DLL zu implementieren oder die Implementierung mit "CallOnlyWhenLoaded="true" zu konfigurieren.

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

IDkmClrValueInspectionCallback

Die Schnittstelle wurde implementiert, um die Überprüfung von CLR-Werten zu ermöglichen, die durch DkmClrValues dargestellt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

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

IDkmCompiledInspectionQueryProcessor

Stellt die Ausführung kompilierter Überprüfungsabfragen bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmComputeKernelExitNotification

IDkmComputeKernelExitNotification wird von Komponenten implementiert, die auf das ComputeKernelExit-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Das Ereignis, wenn ein GPU-Computekerning abgeschlossen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmContinueExecution

Diese Schnittstelle enthält die API zum Fortsetzen der Ausführung, nachdem die Engine ein Stoppereignis an das Visual Studio-Debuggerpaket gesendet hat. Diese Schnittstelle sollte nur von Komponenten des Basisdebugmonitors implementiert werden. Im Gegensatz zu fast allen anderen Schnittstellen kann eine Implementierung dieser Schnittstelle nicht mit einer anderen Implementierung verkettet werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmCustomMessageAsyncForwardReceiver176

Wird von Komponenten implementiert, die benutzerdefinierte Nachrichten von der IDE oder einer anderen Concord-Komponente empfangen und diese Nachricht asynchron verarbeiten möchten. Dies ist die asynchrone Version von IDkmCustomMessageForwardReceiver. Beachten Sie, dass nur Nachrichten, die mit der asynchronen (DkmWorkList)-Version von DkmCustomMessage.SendLower gesendet werden, über diese Schnittstelle empfangen werden.

Implementierer dieser Schnittstelle verwenden in der Regel einen SourceId-Filter.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

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

IDkmCustomMessageCallbackReceiver

Wird von Komponenten implementiert, die benutzerdefinierte Nachrichten von einer anderen Concord-Komponente empfangen möchten. Diese Schnittstelle ähnelt IDkmCustomMessageForwardReceiver, mit der Ausnahme, dass diese Methode erfordert, dass sich der Aufrufer auf einer niedrigeren Ebene in der Komponentenhierarchie befindet als die Komponente, die die Benachrichtigung empfängt (z. B. Base Debug Monitor -> AD7 AL).

Implementierer dieser Schnittstelle verwenden in der Regel einen SourceId-Filter.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomMessageForwardReceiver

Wird von Komponenten implementiert, die benutzerdefinierte Nachrichten von der IDE oder einer anderen Concord-Komponente empfangen möchten. Dies ist eine Schnittstelle, die IDkmCustomMessageCallbackReceiver ähnelt, mit der Ausnahme, dass diese Methode erfordert, dass sich der Aufrufer auf einer höheren Ebene in der Komponentenhierarchie befindet als die Komponente, die den empfängt (z. B. AD7 AL -> Base Debug Monitor).

Implementierer dieser Schnittstelle verwenden in der Regel einen SourceId-Filter.

Ab Version 17.6 gibt es eine asynchrone Alternative zu dieser Schnittstelle: IDkmCustomMessageAsyncForwardReceiver176.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomStopNotification

IDkmCustomStopNotification wird von Komponenten implementiert, die auf das CustomStop-Ereignis lauschen möchten. IDkmCustomStopNotification wird nach allen Implementierungen von IDkmCustomStopReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Das CustomStop-Ereignis ermöglicht es einer Concord-Komponente, ein Stoppereignis für eine benutzerdefinierte Ui-Komponente oder eine Concord-Komponente höherer Ebene auszulösen.

CustomStop-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomStopReceived

IDkmCustomStopReceived wird von Komponenten implementiert, die auf das CustomStop-Ereignis lauschen möchten. IDkmCustomStopReceived wird vor IDkmCustomStopNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Das CustomStop-Ereignis ermöglicht es einer Concord-Komponente, ein beendende Ereignis auf eine benutzerdefinierte Ui-Komponente oder auf eine Concord-Komponente höherer Ebene auszulösen.

CustomStop-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomVisualizer

Diese Schnittstelle wird von benutzerdefinierten Ausdrucksauswertungsvisualisierern implementiert, um die Ansicht eines Ausdrucks programmgesteuert anzupassen. Dies geschieht normalerweise, um Visualisierungen zu unterstützen, die mit der nativen Visualisierungssyntax nicht möglich sind, oder um die Visualisierung ohne vollständige symbolische Informationen zu aktivieren. Die Schnellansicht kann die vollständige Kontrolle über den Ausdruck übernehmen, einschließlich der Erweiterung untergeordneter Elemente, oder sie kann den Standardausdruck aus der Ausdrucksauswertung abrufen, ihn geringfügig ändern, aber andere Vorgänge wie die Erweiterung zurück in die EE zurückstellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId, SourceId, SymbolProviderId, VisualizerId.

IDkmCustomVisualizerCallback

Diese Schnittstelle ist der Ausdrucksauswerter implementiert, um einem EE-Addin das Rückrufen an die Ausdrucksauswertung zu ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId, SourceId, SymbolProviderId, VisualizerId.

IDkmDataBreakpointErrorInfoClient

Die Schnittstelle für Datenhaltepunkte schlägt fehl, nachdem sie gebunden wurden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

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

IDkmDataBreakpointHitNotification

IDkmDataBreakpointHitNotification wird von Komponenten implementiert, die auf das DataBreakpointHit-Ereignis lauschen möchten. IDkmDataBreakpointHitNotification wird nach allen Implementierungen von IDkmDataBreakpointHitReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Stellt eine Benachrichtigung bereit, dass ein ausstehender Haltepunkt erreicht wurde, mit zusätzlichen Datenhaltepunktinformationen. Der Prozess wird nun mit zusätzlichen Informationen beendet.

DataBreakpointHit-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

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

IDkmDataBreakpointHitReceived

IDkmDataBreakpointHitReceived wird von Komponenten implementiert, die auf das DataBreakpointHit-Ereignis lauschen möchten. IDkmDataBreakpointHitReceived wird vor IDkmDataBreakpointHitNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Stellt eine Benachrichtigung bereit, dass ein ausstehender Haltepunkt erreicht wurde, mit zusätzlichen Datenhaltepunktinformationen. Der Prozess wird nun mit zusätzlichen Informationen beendet.

DataBreakpointHit-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

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

IDkmDataBreakpointInfoProvider

Schnittstelle, die für die Bereitstellung von Informationen verantwortlich ist, die für einen Datenhaltepunkt relevant sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

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

IDkmDataBreakpointInfoProvider160

Erweiterung zu IDkmDataBreakpointInfoProvider, damit Ausdrucksauswerter einen Anzeigenamen für Daten breakpoints bereitstellen können.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

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

IDkmDebugMonitorExceptionNotification

IDkmDebugMonitorExceptionNotification wird von Komponenten implementiert, die auf das DebugMonitorException-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. Das Ereignis "DebugMonitorException" stellt Benachrichtigungen von Debugmonitoren über Ausnahmen bereit, die innerhalb des Zielprozesses auftreten. Diese Ereignisbenachrichtigung wird vom Ausnahme-Manager und von Debugmonitoren verwendet, die auf Komponentenebenen über dem Debugmonitor arbeiten, der die Ausnahme erkannt hat. Komponenten auf höherer Ebene sollten stattdessen Ausnahmetrigger verwenden. Weitere Informationen finden Sie unter DkmExceptionTrigger.

Wenn die Ausnahme unbehandelt gesendet wird (DkmExceptionProcessingStage.Unhandled ist festgelegt), wird die IDE beendet. Andere Ausnahmen können abhängig von allen DkmExceptionTriggern, die von der AD7 AL oder anderen Komponenten festgelegt werden, beendet werden. Die AD7 AL liest den Standardsatz von Triggern aus %VSRegistryRoot%\AD7Metrics\Exception%CategoryGuid%*.

DebugMonitorException-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmDeploymentCommandCallback

Rückrufschnittstelle, die von Aufrufern von DkmDeploymentCommand.Start implementiert wird, um Benachrichtigungen über Ereignisse im Bereitstellungsbefehl zu erhalten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SourceId, TransportKind.

IDkmDisassemblyFunctionLabelProvider

Stellt Symbole bereit, die für die Formatierungs disassembliert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Diese API wurde in Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3) eingeführt.

IDkmDisassemblyProvider

Wird verwendet, um Anweisungen im Debug-Adressraum zu disassemblieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmDisassemblyRuntimeAddressResolver

Ermöglicht einer Runtime das Angeben einer Adresse für die Symbolnamenauflösung zur Verwendung im Disassemblierungsfenster.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmDisassemblySymbolProvider

Stellt Symbole bereit, die für die Formatierungs disassembliert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

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

IDkmDumpWriter

Diese Schnittstelle enthält die API zum Schreiben einer Dumpdatei des Debugvorgangs.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEditAndContinueService

Schnittstelle, die von der Bearbeitungs- und Weiter-Engine implementiert wird, um status Abfragedienst zu unterstützen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmEmbeddedBreakpointHitNotification

IDkmEmbeddedBreakpointHitNotification wird von Komponenten implementiert, die auf das EmbeddedBreakpointHit-Ereignis lauschen möchten. IDkmEmbeddedBreakpointHitNotification wird nach allen Implementierungen von IDkmEmbeddedBreakpointHitReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Wird vom Ausnahme-Manager gesendet, wenn eine eingebettete Breakpoint-Ausnahme gefunden wird. Komponenten unter dem Ausnahme-Manager müssen stattdessen auf das plattformspezifische Ausnahmeereignis lauschen.

EmbeddedBreakpointHit-Ereignisse können unterdrückt werden. Wenn dieses Ereignis die AD7-Ebene erreicht, wechselt der Debugger in den Unterbrechungsmodus.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEmbeddedBreakpointHitReceived

IDkmEmbeddedBreakpointHitReceived wird von Komponenten implementiert, die auf das EmbeddedBreakpointHit-Ereignis lauschen möchten. IDkmEmbeddedBreakpointHitReceived wird vor IDkmEmbeddedBreakpointHitNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Wird vom Ausnahme-Manager gesendet, wenn eine eingebettete Breakpoint-Ausnahme gefunden wird. Komponenten unter dem Ausnahme-Manager müssen stattdessen auf das plattformspezifische Ausnahmeereignis lauschen.

EmbeddedBreakpointHit-Ereignisse können unterdrückt werden. Wenn dieses Ereignis die AD7-Ebene erreicht, wechselt der Debugger in den Unterbrechungsmodus.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEmbeddedDocumentProvider

Diese API wird verwendet, um Quellcodedokumente abzurufen, die in eine Symboldatei eingebettet sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmEmbeddedDocumentProvider158

Diese API wird in vsdbg-Szenarien verwendet, um zu bestimmen, ob sich eine bestimmte Anweisung in einem eingebetteten Dokument befindet, ohne den Inhalt des Dokuments abzurufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmEmbeddedDocumentProvider165

Diese API wird verwendet, um das Vorhandensein eingebetteter Dokumente zu überprüfen, eingebettete Dokumente aufzulisten und den Dokumentinhalt zu erhalten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId.

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

IDkmEntryPointNotification

IDkmEntryPointNotification wird von Komponenten implementiert, die auf das EntryPoint-Ereignis lauschen möchten. IDkmEntryPointNotification wird nach allen Implementierungen von IDkmEntryPointReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Wird vom Haltepunkt-Manager ausgelöst, wenn der Haltepunkt des Einstiegspunkts erreicht wurde.

EntryPoint-Ereignisse können nicht unterdrückt werden. Implementieren Sie IDkmEntryPointQuery, um den Einstiegspunkt zu überschreiben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEntryPointReceived

IDkmEntryPointReceived wird von Komponenten implementiert, die auf das EntryPoint-Ereignis lauschen möchten. IDkmEntryPointReceived wird vor IDkmEntryPointNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Wird vom Haltepunkt-Manager ausgelöst, wenn der Haltepunkt des Einstiegspunkts erreicht wurde.

EntryPoint-Ereignisse können nicht unterdrückt werden. Implementieren Sie IDkmEntryPointQuery, um den Einstiegspunkt zu überschreiben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmExceptionAnalyzer

Schnittstelle, die es einer Concord-Komponente ermöglicht, eine Ausnahme zu analysieren und eine verbesserte Beschreibung des Problems zu erstellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId.

Diese API wurde in Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) eingeführt.

IDkmExceptionContinuedNotification

IDkmExceptionContinuedNotification wird von Komponenten implementiert, die auf das ExceptionContinued-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ExceptionContinued wird von einem Debugmonitor gesendet, wenn die Ausführung im Zielprozess fortgesetzt wird und die angegebene Ausnahme nicht gelöscht wurde. Anders ausgedrückt: Der Zielprozess wird mit der Standardausnahmeverarbeitung fortgesetzt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExceptionController

IDkmExceptionController wird von Runtime-Debugmonitoren implementiert, die Ausnahmeereignisse auslösen (DkmExceptionInformation.OnDebugMonitorException()).

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExceptionDetailsProvider

Mit dieser Schnittstelle können Debugmonitore zusätzliche Informationen zu Ausnahmen in Form von Ausnahmedetails bereitstellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, ExceptionCategory, RuntimeId.

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

IDkmExceptionDetailsProvider164

Diese Schnittstelle ermöglicht erweiterte Abfragen zu einer Ausnahme, insbesondere zu dem ursprünglichen Aufrufstapel.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, ExceptionCategory, RuntimeId.

Diese API wurde in Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) eingeführt.

IDkmExceptionDetailsProvider173

Schnittstelle zum Implementieren von DkmExceptionDetails.GetStackTraceInstructionAddresses.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, ExceptionCategory, RuntimeId.

Diese API wurde in Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) eingeführt.

IDkmExceptionFormatter

IDkmExceptionFormatter wird von Runtime-Debugmonitoren implementiert, die Ausnahmeereignisse auslösen. Im Gegensatz zu IDkmExceptionController gibt es in der Regel eine einzelne Implementierung von IDkmExceptionFormatter für jede Ausnahmekategorie. Während beispielsweise mehrere Basisdebugmonitorimplementierungen Win32-Ausnahmen erkennen können, muss es nur eine Formatierungsimplementierung geben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExceptionManager

Schnittstelle, die von der Ausnahme-Manager-Komponente implementiert wird, um die Aktivierung oder Deaktivierung von Ausnahmetriggern zu ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmExceptionManager140

Dies ist eine aktualisierte Version von IDkmExceptionManager, die für Visual Studio 14.0 hinzugefügt wurde, um Ausnahmetrigger aus dem Ausnahme-Manager zu entfernen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmExceptionStackTraceProvider

Ermöglicht einer Bibliothek, die Ausnahmeobjekte implementiert, die eine erfasste Stapelablaufverfolgung verwalten, diese Stapelablaufverfolgung für den Debugger verfügbar zu machen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

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

IDkmExceptionTriggerHitNotification

IDkmExceptionTriggerHitNotification wird von Komponenten implementiert, die auf das ExceptionTriggerHit-Ereignis lauschen möchten. IDkmExceptionTriggerHitNotification wird nach allen Implementierungen von IDkmExceptionTriggerHitReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Das 'ExceptionTriggerHit'-Ereignis stellt eine Benachrichtigung bereit, dass ein zuvor festgelegter DkmExceptionTrigger erfüllt wurde.

ExceptionTriggerHit-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId.

IDkmExceptionTriggerHitReceived

IDkmExceptionTriggerHitReceived wird von Komponenten implementiert, die auf das ExceptionTriggerHit-Ereignis lauschen möchten. IDkmExceptionTriggerHitReceived wird vor IDkmExceptionTriggerHitNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Das 'ExceptionTriggerHit'-Ereignis stellt eine Benachrichtigung bereit, dass ein zuvor festgelegter DkmExceptionTrigger erfüllt wurde.

ExceptionTriggerHit-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId.

IDkmExceptionWinRTErrorExtractor

IDkmExceptionWinRTErrorExtractor wird vom Ausnahme-Manager aufgerufen, um erweiterte WinRT-Fehlerinformationen aus einer JavaScript/CLR/C++/etc-Ausnahme zu extrahieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExtendedRegisters

Ruft die erweiterten Register aus dem Threadkontext ab.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmFrameExceptionInterceptProvider

Diese Schnittstelle wird von Debugmonitoren implementiert, die Unterstützung für das Entladen von Ausnahmen für einen bestimmten Frame bieten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmFramePseudoLocalResultProvider

Ermöglicht die Bereitstellung zusätzlicher Knoten in frame locals, die durch den Pseudoregisternamen identifizierbar sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId.

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

IDkmFuncEvalCompletedNotification

IDkmFuncEvalCompletedNotification wird von Komponenten implementiert, die auf das FuncEvalCompleted-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Das FuncEvalCompleted-Ereignis wird gesendet, nachdem eine Funktionsauswertung abgeschlossen ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmFuncEvalStartingNotification

IDkmFuncEvalStartingNotification wird von Komponenten implementiert, die auf das FuncEvalStarting-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Das FuncEvalStarting-Ereignis wird unmittelbar vor dem Start einer Funktionsauswertung gesendet. Im Fall des geschachtelten Unterbrechungszustands löst jede neue Funktionsauswertung ein weiteres FuncEvalStarting-Ereignis aus. In diesem Szenario wird das Ziel beendet, und ein Benutzer führt eine Auswertung aus dem unmittelbaren Fenster aus, wodurch ein FuncEvalStarting-Ereignis ausgelöst wird. Der Benutzer erreicht einen Haltepunkt in seiner ausgewerteten Funktion, der Benutzer führt eine zweite Auswertung von dort aus, die ein zweites FuncEvalStarting-Ereignis auslöst. Der Benutzer lässt beide Auswertungen abschließen, und dadurch werden zwei FuncEvalCompleted-Ereignisse ausgelöst.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmFunctionTableProvider

Schnittstelle zum Bereitstellen des Zugriffs auf die Laufzeitfunktionstabelle eines Prozesses. Eine Standardimplementierung wird vom nativen Debugmonitor von Microsoft bereitgestellt, der Funktionstabellen in geladenen Win32-Modulen und dynamischen PData in Liveprozessen finden kann. Diese Schnittstelle kann von Basisdebugmonitoren implementiert werden, um laufzeitbasierten Funktionstabellenzugriff für Nicht-Live-Prozesse (z. B. Minidumps) bereitzustellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGetExpensiveHashValue177

Stellt Methoden zum Berechnen und Zurückgeben des tatsächlichen Werts eines "teuren" Hashs bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

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

IDkmGPUBreakpointBehaviorQuery

Schnittstelle zum Abfragen des GPU-Debughaltepunktverhaltens.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUComputeKernelOperation

Stellt die Compute-Kernelhierarchie bereit, d. h. die Threadgruppe, den Computevektor und den Computethread zur Anzeige durch den Benutzer.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUDisassemblyQuery

Wird verwendet, um rohe Disassemblierung im GPU-Debugbytecode abzufragen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmGPUEnvironmentFilter

Optionale interne Schnittstelle, die implementiert werden kann, um die Umgebung des GPU-Zielprozesses anzupassen, bevor er gestartet wird. Aufseiten des Debugmonitors kann diese API oder IDkmGPUEnvironmentFilter implementiert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId.

IDkmGPUMemoryOperation

Wird von Basisdebugmonitoren implementiert, um Zugriff auf den Arbeitsspeicher des GPU-Zielprozesses zu ermöglichen. Basisdebugmonitore sind für die Ausführung der Speicher-E/A verantwortlich.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGpuRaceHazardsAllowSameNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn "IsGpuRaceHazardsAllowSameSettingEnabled" aktiviert oder deaktiviert ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmGPURegisterOperation

Wird von Basisdebugmonitoren implementiert, um Zugriff auf die Register des GPU-Computethreads zu ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUSetMemoryAccessWarningOperation

IDkmGPUSetMemoryAccessWarningOperation wird verwendet, um GPU-Speicherzugriffswarnungen auf dem gedebuggten GPU-Gerät zu konfigurieren. Sie wird von Basisdebugmonitoren implementiert, die das Melden von GPU-Speicherzugriffsausnahmen unterstützen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUSingleStepCompleteNotification

IDkmGPUSingleStepCompleteNotification wird von Komponenten implementiert, die auf das GPUSingleStepComplete-Ereignis lauschen möchten. IDkmGPUSingleStepCompleteNotification wird nach allen Implementierungen von IDkmGPUSingleStepCompleteReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Wird gesendet, wenn das einzelne Schrittschritten eines GPU-Threads abgeschlossen ist. Das Ereignis kann von einem anderen Thread als dem Anforderungsthread in derselben Verzerrung ausgelöst werden.

GPUSingleStepComplete-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId.

IDkmGPUSingleStepCompleteReceived

IDkmGPUSingleStepCompleteReceived wird von Komponenten implementiert, die auf das GPUSingleStepComplete-Ereignis lauschen möchten. IDkmGPUSingleStepCompleteReceived wird vor IDkmGPUSingleStepCompleteNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Wird gesendet, wenn das einzelne Schrittschritten eines GPU-Threads abgeschlossen ist. Das Ereignis kann von einem anderen Thread als dem Anforderungsthread in derselben Verzerrung ausgelöst werden.

GPUSingleStepComplete-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId.

IDkmGPUSymbolProviderCallback

Rückrufschnittstelle, die von GPU-Symbolanbietern implementiert wird, um Informationen aus dem Symbolspeicher für Basisdebugmonitore bereitzustellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

IDkmGPUSymbolQuery

Diese API wird verwendet, um Informationen zu einem Symbol für DPC++ zu lesen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmGPUSymbolQueryCallback

Ermöglicht Remotekomponenten das Abrufen von Quellpositionsinformationen für DPC++, wenn sich der Symbolanbieter auf dem VS-Computer befindet.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

IDkmGPUTempBreakStepper

Schnittstelle, die von GPU-Basisdebugmonitoren implementiert wird, um temporäre Anweisungshaltepunkte im Schrittmodus zu aktivieren. Die temporären Anweisungshaltepunkte werden an ContinueDebugEvent übergeben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId.

IDkmGroupCompiledInspectionQueryProcessor

Wird verwendet, um kompilierte Gruppenausdrucksverarbeitung auszuführen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmGroupLanguageExpressionEvaluator

Diese Schnittstelle ermöglicht eine Spracherweiterung, um Ausdrücke für eine Gruppe von Threads auszuwerten. Sie sollte im Allgemeinen von allen Spracherweiterungen implementiert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmHeuristicStackWalker

IDkmHeuristicStackWalker wird vom Stapelanbieter aufgerufen. Es wird aufgerufen, wenn versucht wird, Frames ohne Symbole zu durchlaufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmHiddenEntryPointNotification

IDkmHiddenEntryPointNotification wird von Komponenten implementiert, die auf das HiddenEntryPoint-Ereignis lauschen möchten. IDkmHiddenEntryPointNotification wird nach allen Implementierungen von IDkmHiddenEntryPointReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Wird vom Haltepunkt-Manager ausgelöst, wenn der Haltepunkt des Einstiegspunkts im ausgeblendeten Code erreicht wurde. Der tatsächliche EntryPoint wird verzögert, bis wir ausgeblendeten Code belassen, und wird möglicherweise nicht einmal ausgelöst, wenn wir keine geeignete Öffnung finden können. HiddenEntryPoint wird zusätzlich für alle erforderlichen Arbeiten im Hintergrund ausgelöst.

HiddenEntryPoint-Ereignisse können nicht unterdrückt werden. Um den Einstiegspunkt zu überschreiben, implementieren Sie IDkmHiddenEntryPointQuery.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmHiddenEntryPointReceived

IDkmHiddenEntryPointReceived wird von Komponenten implementiert, die auf das HiddenEntryPoint-Ereignis lauschen möchten. IDkmHiddenEntryPointReceived wird vor IDkmHiddenEntryPointNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Wird vom Haltepunkt-Manager ausgelöst, wenn der Haltepunkt des Einstiegspunkts im ausgeblendeten Code erreicht wurde. Der tatsächliche EntryPoint wird verzögert, bis wir ausgeblendeten Code behalten, und wird möglicherweise nicht einmal ausgelöst, wenn wir keine geeignete Öffnung finden können. HiddenEntryPoint wird zusätzlich für alle erforderlichen Arbeiten hinter den Kulissen ausgelöst.

HiddenEntryPoint-Ereignisse können nicht unterdrückt werden. Um den Einstiegspunkt zu überschreiben, implementieren Sie IDkmHiddenEntryPointQuery.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmHostingProcessShowNotification

Schnittstelle, die von Komponenten implementiert wird, die herausfinden möchten, wann das aktive (nicht ausgeblendete) Debuggen eines Hostingprozesses (z. B. my_app.vshost.exe) beginnt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmIISDebuggingServices

Schnittstelle zum Bereitstellen von IIS-Debugfunktionen für das SDM.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: TransportKind.

IDkmIISResolver

Schnittstelle zum Bereitstellen der URL-Arbeitsprozessauflösung auf dem Visual Studio-Computer>.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: TransportKind.

IDkmIISResolver160

Schnittstelle zum Bereitstellen der URL-Worker-Prozessauflösung> für Profilerstellungsszenarien.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: TransportKind.

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

IDkmIISResolver170

Schnittstelle zum Bereitstellen von IIS-Anwendungspoolinformationen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: TransportKind.

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

IDkmILFailureReasonResolver

Löst eine DkmILFailureReason in eine Fehlermeldung auf.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId.

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

IDkmILInterpreter

Schnittstelle zum Interpretieren von IL.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmInlineFrameCount

Diese API wird verwendet, um die Anzahl von Inlineframes an einer Position zu bestimmen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmInlineSourceSymbolQuery

Diese API wird verwendet, um Inlinesymbolinformationen zu lesen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmInstructionAddressOperator

Schnittstelle zum Bereitstellen laufzeitspezifischer Vorgänge für Anweisungsadressen. Für native und verwaltete Anweisungen wird dieser Dienst vom Symbolanbieter bereitgestellt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmInstructionAddressProvider

Schnittstelle zum Bereitstellen prozessspezifischer Anweisungsadressen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmInstructionAddressResolver

Schnittstelle zum Bereitstellen einer laufzeitspezifischen CPU-Adressauflösung. Dies kann entweder auf Server- oder Clientseite implementiert werden (z. B. native CLR-Kompilierung).

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmInstructionPatchNotification

Schnittstelle, die von Komponenten implementiert wird, die Benachrichtigungen erhalten möchten, wenn der Basisdebugmonitor einen Speicherschreibvorgang in den Anweisungsstream ausführt. Diese Schnittstelle kann nur im Überwachungsprozess implementiert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmInstructionStepper

Schnittstelle, die von Basisdebugmonitoren implementiert wird, um Schrittgrundsätze auf Anweisungsebene bereitzustellen. Diese Schnittstelle wird von Laufzeitdebugmonitoren genutzt, um die Ausführungssteuerung auf Benutzerebene zu implementieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId.

IDkmInterceptExceptionCompletedNotification

IDkmInterceptExceptionCompletedNotification wird von Komponenten implementiert, die auf das InterceptExceptionCompleted-Ereignis lauschen möchten. IDkmInterceptExceptionCompletedNotification wird nach allen Implementierungen von IDkmInterceptExceptionCompletedReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und Implementierende können den Prozess entweder überprüfen oder kontrolliert ausführen lassen (Slip, Func-eval).

Wird von einem Debugmonitor gesendet, nachdem eine Ausnahme für einen angegebenen Frame entwickelt wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmInterceptExceptionCompletedReceived

IDkmInterceptExceptionCompletedReceived wird von Komponenten implementiert, die auf das InterceptExceptionCompleted-Ereignis lauschen möchten. IDkmInterceptExceptionCompletedReceived wird vor IDkmInterceptExceptionCompletedNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein Func-eval, kein Verrutschen).

Wird von einem Debugmonitor gesendet, nachdem eine Ausnahme für einen angegebenen Frame entwickelt wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmIntrinsicFunctionEvaluator

Mit dieser Schnittstelle kann ein Ausdrucksauswerter intrinsische Vorgänge angeben, die über IL aufgerufen werden sollen, für die die EE verantwortlich ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: LanguageId, SourceId.

IDkmIntrinsicFunctionEvaluator140

Mit dieser Schnittstelle kann ein Ausdrucksauswerter intrinsische Vorgänge angeben, die über IL aufgerufen werden sollen, für die die EE verantwortlich ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: LanguageId, SourceId.

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

IDkmJustMyCodeEnableNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn JustMyCode aktiviert oder deaktiviert ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmJustMyCodeProvider

Schnittstelle, um zu bestimmen, ob ein bestimmter Speicherort Benutzercode ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

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

IDkmLanguageAsyncStepper

Diese Schnittstelle wird von Sprachen implementiert, um das Schrittverhalten für asynchrone Methoden zu aktivieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageConditionEvaluator

Diese Schnittstelle wird von Ausdrucksauswertern implementiert, die sich oder auf dem Zielcomputer befinden und bedingte Haltepunkte unterstützen möchten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageExpressionCompiler

Diese Schnittstelle ermöglicht einer Spracherweiterung das Vorkompilieren von Breakpointbedingungen, sodass derselbe Ausdruck schnell ausgewertet werden kann, wenn der Haltepunkt erreicht wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageExpressionEvaluator

Diese Schnittstelle ermöglicht eine Spracherweiterung, um Ausdrücke in den verschiedenen Datenüberprüfungsfenstern des Debuggers (watch, autos, sofort, Arbeitsspeicher, Disassemblierung usw.) auszuwerten. Es sollte im Allgemeinen von allen Spracherweiterungen implementiert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageFrameDecoder

Mit dieser Schnittstelle kann eine Spracherweiterung die Anzeige von Funktionsnamen im Aufruflistenfenster formatieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageInstructionDecoder

Mit dieser Schnittstelle kann eine Spracherweiterung die Anzeige der Spalte "Funktion" im Haltepunktfenster und an anderen Stellen formatieren, an denen versucht wird, eine Anweisungsadresse zu formatieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageObjectIdProvider

Dies ist eine optionale Schnittstelle, die von Ausdrucksauswertern implementiert wird. Sie sollte von Ausdrucksauswertern implementiert werden, die Auswertungsergebnisse mit dem Flag "CanHaveObjectId" zurückgeben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

IDkmLanguageReturnValueEvaluator

Mit dieser Schnittstelle kann eine Spracherweiterung Rückgabewerte auswerten, die während des Schritts von einer Runtime erfasst werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageReturnValueEvaluator2

Mit dieser Schnittstelle kann eine Spracherweiterung Rückgabewerte auswerten, die während des Schritts von einer Runtime erfasst werden. Dies ist ein Ersatz für IDkmLanguageReturnValueEvaluator, mit dem Komponenten Datenelemente abrufen können, die dem Rückgabewert zugeordnet sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

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

IDkmLanguageStepIntoFilterCallback

Diese Schnittstelle ermöglicht es einer Spracherweiterung, das Step-Into Verhalten der nativen Runtime zu beeinflussen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLaunchResumeProcess

IDkmLaunchResumeProcess wird verwendet, um einen Prozess zu starten und fortzusetzen. Sie wird vom Debugmonitor in F5 und vom Transport in STRG-F5 aufgerufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmLaunchResumeProcess150

Erweiterung zu IDkmLaunchResumeProcess, um das Übergeben des erstellten DkmProcess während des Fortsetzens zu unterstützen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmLoadCompleteNotification

IDkmLoadCompleteNotification wird von Komponenten implementiert, die auf das LoadComplete-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. LoadComplete wird vom Basisdebugmonitor gesendet, wenn das Starten oder Anfügen an den Prozess abgeschlossen ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmManagedAsyncTaskDecoder

Ruft Informationen zum Erstellen von Fortsetzungsrahmen einer verwalteten Aufgabe ab.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, SymbolProviderId.

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

IDkmManagedFuncEvalQuickAbortServices

Schnittstelle zur Unterstützung eines verwalteten func-eval-Schnellabbruchs.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmManagedFuncEvalServices

Vom verwalteten Debugmonitor bereitgestellte Schnittstelle, um den Prozess für eine verwaltete Funktionsauswertung fortzusetzen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmManagedFuncEvalServices150

Vom verwalteten Debugmonitor bereitgestellte Schnittstelle, um den Prozess für eine verwaltete Funktionsauswertung fortzusetzen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmManagedHeapPathsToRootProvider

Schnittstelle, die von managed dm implementiert wird, um das Durchlaufen des verwalteten Heaps zu ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

Diese API wurde in Visual Studio 17 Update 2 (DkmApiVersion.VS17Update2) eingeführt.

IDkmManagedHeapSampler

Vom Sampler implementierte Schnittstelle zum Abrufen eines verwalteten Heaps mit Stichproben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapSampler174

Schnittstelle, die vom Heap-Sampler implementiert wird, um die Stammanalyse zurück zu verschieben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapSampler175

Schnittstelle, die vom Heap-Sampler implementiert wird, um doppelte Zeichenfolgen zu erkennen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapSampler176

Schnittstelle, die vom Heap-Sampler implementiert wird, um doppelte Zeichenfolgen zu erkennen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapSampler177

Schnittstelle, die vom verwalteten Heap-Sampler implementiert wird, um Segmente abzurufen und doppelte Zeichenfolgen zu analysieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapSampler178

Vom Heap-Sampler implementierte Schnittstelle, um Ereignishandlerlecks zu erkennen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapWalker

Schnittstelle, die von managed dm implementiert wird, um das Durchlaufen des verwalteten Heaps zu ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapWalker175

Schnittstelle, die vom verwalteten DM implementiert wird, um den Zeichenfolgentyp zu finden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedHeapWalker177

Schnittstelle, die von der verwalteten DM implementiert wird, um das Durchlaufen des verwalteten Heaps zu ermöglichen. Macht Methoden im Zusammenhang mit der Nachverfolgung verwalteter Verweise auf native Objekte verfügbar.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedReturnValueFetcher

Ruft Verwaltete Rückgabewertinformationen von ManagedDM zur Auswertung ab.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

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

IDkmManagedSteppingCodePathProvider

Wird von ManagedDM zum Abfragen von Codepfadinformationen verwendet.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmManagedTaskServices

Stellt Dienste für Aufgabenanbieter und zum Debuggen von Monitoren zum Abrufen von Informationen zu verwalteten Aufgaben bereit. Dies wird von der Shim Managed EE implementiert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmManagedTaskServices158

Stellt Dienste für Aufgabenanbieter und Debugmonitore zum Abrufen von Informationen zu verwalteten Aufgaben bereit. Dies wird vom CLR-Inspektor implementiert. Diese Schnittstelle kann in zukünftigen Versionen geändert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId.

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

IDkmManagedThreadProperties

Macht Eigenschaften eines verwalteten Threads verfügbar, z. B. verwaltete Thread-ID.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmMCppSymbolProvider

Symbolanbieter für verwaltetes C++.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

Diese API wurde in Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) eingeführt.

IDkmMemoryOperation

Wird von Basisdebugmonitoren implementiert, um Zugriff auf den Arbeitsspeicher des Zielprozesses zu ermöglichen. Diese Schnittstelle wird auch von Komponenten auf höherer Ebene implementiert, um Speicherzwischenspeicherung bereitzustellen. Basisdebugmonitore sind dafür verantwortlich, die Speicher-E/A auszuführen, eine Tabelle mit unsichtbaren Schreibvorgängen zu verwalten und Ereignisse bereitzustellen, wenn die unsichtbare Schreibtabelle aktualisiert wird (über DkmProcess.OnInstructionPatchInserted/Removed).

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmMergedMonitorStackWalk

IDkmMergedMonitorStackWalk wird vom Stapelanbieter aufgerufen. Es wird zwischen den verschiedenen Implementierungen von IDkmMonitorStackWalk vermittelt, um Teile des Stapels zu durchlaufen, die innerhalb des Monitors gelaufen werden sollen (anstatt innerhalb der Engine zu gehen).

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmMergedMonitorStackWalk164

IDkmMergedMonitorStackWalk164 wird vom Stapelanbieter aufgerufen. Es wird zwischen den verschiedenen Implementierungen von IDkmMonitorStackWalk vermittelt, um Teile des Stapels zu durchlaufen, die innerhalb des Monitors gelaufen werden sollen (anstatt innerhalb der Engine zu gehen).

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

Diese API wurde in Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) eingeführt.

IDkmMinidumpQuery

Ruft Informationen zum zu debuggenden Minidump ab.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmMinidumpQuery1610

Ruft Informationen zum zu debuggenden Minidump ab.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

Diese API wurde in Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10) eingeführt.

IDkmMinidumpThreadInfo

Ruft threadzustandsinformationen ab, die im Minidump gespeichert sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmModuleCreateNotification

IDkmModuleCreateNotification wird von Komponenten implementiert, die auf das ModuleCreate-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. ModuleCreate wird gesendet, wenn ein Symbolanbieter neue Symbole lädt und somit ein neues DkmModule-Modul erstellt wird. Ein DkmModule-Modul ist nur für Modulinstanzen mit Symbolen vorhanden.

ModuleCreate-Ereignisse können unterdrückt werden. In diesem Fall ist das Modul für Komponenten über der Ebene, auf der das Modul unterdrückt wurde, nicht sichtbar.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmModuleInstanceDisabledNotification

Schnittstelle, die von Debugmonitoren implementiert wird, um updates auszuführen, wenn die Eigenschaft "Disabled" eines Moduls geändert wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleInstanceLoadNotification

IDkmModuleInstanceLoadNotification wird von Komponenten implementiert, die auf das ModuleInstanceLoad-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ModuleInstanceLoad wird ausgelöst, wenn ein Modul von einem Zielprozess geladen wird. Dieses Ereignis wird unter anderem für Symbolanbieter zum Laden von Symbolen und für den Haltepunkt-Manager zum Festlegen von Haltepunkten verwendet. ModuleInstanceLoad wird für alle Module ausgelöst, auch wenn keine Symbole geladen sind.

ModuleInstanceLoad-Ereignisse können unterdrückt werden. In diesem Fall ist das Modul für Komponenten über der Ebene, auf der das Modul unterdrückt wurde, nicht sichtbar.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleInstanceUnloadNotification

IDkmModuleInstanceUnloadNotification wird von Komponenten implementiert, die auf das ModuleInstanceUnload-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ModuleInstanceUnload wird gesendet, wenn der Monitor erkennt, dass ein Modul aus dem Zielprozess entladen wurde.

ModuleInstanceUnload-Ereignisse können nicht unterdrückt werden. Wenn das ModuleLoad-Ereignis jedoch unterdrückt wurde, beendet ModuleUnload die Verarbeitung auf der Ebene, auf der ModuleLoad unterdrückt wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleLocator

Von Debugmonitoren implementierte Schnittstelle, die Debugdumps unterstützen, damit die Benutzeroberfläche nach Binärdateien suchen kann, die beim ursprünglichen Laden des Speicherabbilds nicht gefunden wurden. Der Symbolpfad wird von der Benutzeroberfläche aktualisiert, wenn der Benutzer bei der Suche nach der Binärdatei einen Pfad auswäht.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleMetadataStatusQuery

Bestimmt beim verwalteten Minidumpdebuggen, ob Metadaten für ein bestimmtes Modul instance verfügbar sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmModuleModifiedNotification

Komponenten sollten diese Schnittstelle implementieren, um informiert zu werden, wenn sich ein Modul aufgrund von EnC oder dynamisch ausgegebenem Code ändert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmModuleSymbolSearchResult175

Ermöglicht das Abrufen von Symbolsuchergebnissen für ein Modul instance.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

IDkmModuleSymbolsLoaded

Schnittstelle, die von Basisdebugmonitoren implementiert wird, um ein symbolgeladenes Ereignis auszulösen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleSymbolsLoadedNotification

IDkmModuleSymbolsLoadedNotification wird von Komponenten implementiert, die auf das ModuleSymbolsLoaded-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ModuleSymbolsLoaded wird gesendet, nachdem Symbole für ein bestimmtes Modul instance geladen wurden. Dies wird entweder gesendet, wenn Symbole als DLL-/EXE-Ladevorgang im Zielprozess geladen werden, oder nachdem der Benutzer zum Erneutladen von Symbolen aufgefordert wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleSymbolsReload

Ermöglicht das Ersetzen der Symboldatei, die einem DkmModule zugrunde liegt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmModuleSymbolsReload175

Ermöglicht das Ersetzen des einem DkmModule zugrunde liegenden ISymUnmanagedReader.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

IDkmModuleSymbolsReplacedNotification

IDkmModuleSymbolsReplacedNotification wird von Komponenten implementiert, die auf das ModuleSymbolsReplaced-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. ModuleSymbolsReplaced wird ausgelöst, wenn die Symbole eines Moduls ersetzt wurden. In der Regel aufgrund von Vorgängen wie der Dekompilierung.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

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

IDkmModuleSymbolsUpdatedNotification

IDkmModuleSymbolsUpdatedNotification wird von Komponenten implementiert, die auf das ModuleSymbolsUpdated-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ModuleSymbolsUpdated wird von einem Debugmonitor gesendet, wenn dynamischer Code im Zielprozess den Symbolstatus aktualisiert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleUserCodeDeterminer

Schnittstelle implementiert, um Just-My-Code-status für Module bereitzustellen. Um das Modulfenster zu unterstützen, sollte diese Schnittstelle in einer IDE-Komponente implementiert werden, kann aber auch auf der Monitorseite implementiert werden, wenn dies nützlich ist. Microsoft implementiert diese Schnittstelle auf der Monitorseite für verwalteten Code, aber nicht nativ.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmMonitorStackWalk

Untersucht den Teil des Stapels, der aus einer bestimmten DkmRuntimeInstance stammt, und gibt Frames aus dieser Runtime zurück. IDkmMonitorStackWalk wird verwendet, um diese Wanderung auf dem Zielcomputer zu tun, und führt diesen Schritt in der Regel ohne Symbole aus. Es sollte beachtet werden, dass ein präziser Monitorstapellauf in der Regel folgendes erfordert: 1. Der Laufzeitmonitor, um die Aufrufkonvention der zugrunde liegenden Laufzeit vollständig zu verstehen, UND die Runtime verwendet einen Mechanismus, sodass kein Code von anderen Runtimes benötigt wird, die sich auf dem Stapel befinden, um gelaufen zu werden. Beispielsweise verwaltet die CLR Stapelbereiche, sodass die CLR weiterhin den verwalteten Code finden kann, wenn verwalteter Code in nativ aufgerufen wird, ohne dass der systemeigene Code durchlaufen werden muss. - oder - 2. Eine einheitliche Aufrufkonvention, der der gesamte Code folgen muss. Beispielsweise muss der gesamte Code einer einheitlichen Aufrufkonvention für x64- und IA-64-Versionen von Windows entsprechen. Microsoft stellt fünf Implementierungen von IDkmMonitorStackWalk bereit: 1. Eine Implementierung für ICorDebug v2 2. Eine Implementierung für ICorDebug v4 3. Eine Implementierung für x64/ia64 PDATA-Walking. 4. Eine Implementierung für ActiveScript. 5. Eine Standardimplementierung, die unbekannte Regionen bündelt, die im Engineprozess durchlaufen werden sollen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmNameUndecorator

Diese API wird verwendet, um Symbolnamen zu entwerten. Microsoft bietet eine Implementierung davon, um Symbolnamen in PDBs zu verwerten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmNativeCppEditAndContinueNotification

Schnittstelle, die von Komponenten implementiert wird, um native ENC-Benachrichtigungen zu lauschen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmNativeDebuggingEnableNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn das native Debuggen für einen bestimmten Prozess aktiviert oder deaktiviert ist. Beachten Sie, dass für Visual Studio 11 das native Debuggen nicht direkt aktiviert/deaktiviert werden kann, aber zukünftige Versionen können diese Funktionalität unterstützen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmNativeEditAndContinueUpdate

Schnittstelle, die von der nativen Bearbeitungs- und Weiter-Engine implementiert wird, um ausstehende Codeänderungen, -validierung und -commit bereitzustellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmNativeEditAndContinueUpdate140A

Schnittstelle, die von der nativen Bearbeitungs- und Weiter-Engine implementiert wird, um das Abbrechen zuzulassen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Diese API wurde in Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) eingeführt.

IDkmNativeExportsEnableNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn "IsNativeExportsEnabled" aktiviert oder deaktiviert ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmNativeExportTableDecoder

Ermöglicht die Decodierung von Exporttabellen in Windows PE-Dateien.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmNativeExportTableDecoder150

Stellt zusätzliche Decodierung von Exporttabellen in Windows PE-Dateien bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmNativeJustMyCodeProvider158

Schnittstelle, um zu bestimmen, ob ein bestimmter Speicherort Benutzercode ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

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

IDkmNativeJustMyCodeSteppingEnableNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn natives JustMyCode-Stepping aktiviert oder deaktiviert ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

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

IDkmNativeStackCallback

Stellt einen Mechanismus für den Basisdebugmonitor und den systemeigenen Debugmonitor bereit, um Informationen zu den Stapelframes abzurufen, die möglicherweise Symbolunterstützung erfordern.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmNativeSteppingCallSiteProvider

Wird vom nativen IDkmSteppingCodePathDecoder-Implementierer aufgerufen, um native CodePaths aufzulisten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmNativeSymbolProviderCallback

Rückrufschnittstelle, die vom PDB-Symbolanbieter implementiert wird, um Informationen zu Symbolen an den Basisdebugmonitor zurückzugeben. Diese Schnittstelle sollte im Allgemeinen auf dem Visual Studio-Computer implementiert werden. Debugmonitorseitige Implementierungen werden möglicherweise nicht aufgerufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

IDkmNativeSymbolProviderCallback120a

Optionale Schnittstelle, die von systemeigenen Symbolanbietern implementiert und vom nativen DM genutzt werden kann, um das Schrittweise zu ermöglichen. Wenn nicht implementiert, wird das native DM auf IDkmNativeSymbolProviderCallback.GetNativeInstructionMetadataCallback und IDkmSymbolProviderCallback.GetSteppingRanges zurückverwendet.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: RuntimeId, SymbolProviderId.

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

IDkmNatvisComplexityLimitChangedNotification

Schnittstelle zum Aktualisieren von Komponenten beim Ändern des natvis-Komplexitätslimits.

Implementierungen dieser Schnittstelle werden immer aufgerufen (keine Filterung wird unterstützt). Um die Auswirkungen auf den Arbeitsspeicher zu verringern, wird empfohlen, diese Schnittstelle in einer kleinen DLL zu implementieren oder die Implementierung mit "CallOnlyWhenLoaded="true" zu konfigurieren.

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

IDkmNatvisRecursionLimitChangedNotification

Schnittstelle zum Aktualisieren von Komponenten beim Ändern des Natvis-Rekursionslimits.

Implementierungen dieser Schnittstelle werden immer aufgerufen (keine Filterung wird unterstützt). Um die Auswirkungen auf den Arbeitsspeicher zu verringern, wird empfohlen, diese Schnittstelle in einer kleinen DLL zu implementieren oder die Implementierung mit "CallOnlyWhenLoaded="true" zu konfigurieren.

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

IDkmNonDebugProcessExitNotification

IDkmNonDebugProcessExitNotification wird von Komponenten implementiert, die auf das NonDebugProcessExit-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. NonDebugProcessExit wird ausgelöst, wenn der zugeordnete Nicht-Debugprozess beendet wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: TransportKind.

Diese API wurde in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) eingeführt.

IDkmObjectFavoritesProvider

Stellt der IDE die Funktionalität zum Hinzufügen und Entfernen von bevorzugten Elementen für Objekte in den EE-Fenstern bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

Diese API wurde in Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4) eingeführt.

IDkmOutOfBandExceptionNotification

IDkmOutOfBandExceptionNotification wird von Komponenten implementiert, die auf das OutOfBandException-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. Das Ereignis "OutOfBandException" stellt Benachrichtigungen von Debugmonitoren über Out-of-Band-Ausnahmen bereit, die während des verwalteten/nativen Interopdebuggens innerhalb des Zielprozesses auftreten. Diese Ereignisbenachrichtigung wird vom Ausnahme-Manager verwendet. Out-of-Band-Ereignisse können jederzeit auftreten (auch wenn sie beendet werden) und müssen sofort fortgesetzt werden.

OutOfBandException-Ereignisse können unterdrückt werden, indem DkmEventDescriptorS.Suppress() aufgerufen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

Diese API wurde in Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) eingeführt.

IDkmOutOfBandProcessContinueNotification

Stellt eine Benachrichtigung bereit, wenn der Zielprozess über ein Out-of-Band-Debugereignis fortgesetzt wird, während das verwaltete native Interopdebuggen in der Prozesspipeline ausgeführt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

Diese API wurde in Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) eingeführt.

IDkmOutOfProcessSymbolLoadingEnabledNotification

Schnittstelle zum Aktualisieren von Komponenten beim Laden nativer Symbole aus dem Prozess ist aktiviert oder deaktiviert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

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

IDkmPendingFileLineBreakpointCallback

Diese Schnittstelle wird von Komponenten implementiert, die dem Haltepunkt-Manager DkmPendingFileLineBreakpoint-Objekte hinzufügen möchten. Der Haltepunkt-Manager fragt den aktuellen Speicherort für die erste Bindung und während einer Bearbeitungs- und Weiter-Anwendung ab.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmPerformanceMeasurement140

Schnittstelle, die zum Sammeln von Leistungsdaten aus dem Debuggee verwendet wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmProcessContinueNotification

Stellt eine Benachrichtigung bereit, wenn der Zielprozess fortgesetzt werden soll. Dies wird ausgelöst, nachdem der Benutzer F5 erreicht hat, ein func-eval beginnt, ein anhaltendes Ereignis abgeschlossen ist (z. B. Modulladevorgang) oder ein Beendigungsereignis abgeschlossen ist. Dieser Hauptzweck dieses Ereignisses besteht darin, Komponenten das Leeren aller Caches zu ermöglichen, die sie besitzen.

Diese Benachrichtigung kann von jedem Thread aus ausgelöst werden, wird aber nicht erneut ausgelöst.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessCreateNotification

IDkmProcessCreateNotification wird von Komponenten implementiert, die auf das ProcessCreate-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ProcessCreate wird ausgelöst, wenn ein DkmProcess-Objekt erstellt wird. Dies gibt an, dass der Debugger mit dem Anfügen an den angegebenen Prozess begonnen hat. In Startszenarien wird dieses Ereignis ausgelöst, bevor Code im Zielprozess ausgeführt werden darf.

Implementierungen können nur grob basierend auf dem Codetyp im Zielprozess gefiltert werden, und Handler werden auch ausgeführt, während der UI-Thread blockiert wird und darauf wartet, dass die Engine zurückgegeben wird. Aus diesen Gründen ist es oft besser, stattdessen auf das RuntimeInstanceLoad-Ereignis zu lauschen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessDebuggerInitializeWaiter

Optionale Schnittstelle, die von Debugmonitoren des Basisdebugs implementiert wird, die denselben Ereignisthread für mehrere Prozesse verwenden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmProcessExecutionNotification

Stellt eine Benachrichtigung bereit, dass der Prozess die Ausführung angehalten oder fortgesetzt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmProcessExitNotification

IDkmProcessExitNotification wird von Komponenten implementiert, die auf das ProcessExit-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. ProcessExit wird ausgelöst, wenn der Debugger den angegebenen Prozess nicht mehr debugt. Dies kann entweder darauf zurückzuführen sein, dass der Debugger vom angegebenen Prozess getrennt wurde oder weil der Prozess beendet wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessLaunchEnvironmentFilter

Optionale Schnittstelle, die implementiert werden kann, um die Umgebung des Zielprozesses anzupassen, bevor er gestartet wird. Es ist möglich, die Umgebung aus zwei Punkten anzupassen. Auf der IDE-Seite kann der Aufrufer von LaunchDebugTargets einen Umgebungsblock angeben. Aufseiten des Debugmonitors kann diese API implementiert werden. Diese API wird empfohlen, wenn die IDE-Seite nicht über genügend Informationen verfügt, um die Umgebung ordnungsgemäß anzugeben, oder wenn die Erweiterung den Aufruf von LaunchDebugTargets nicht steuert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId.

IDkmProcessLaunchEnvironmentFilter140

Optionale Schnittstelle, die implementiert werden kann, um die Umgebung des Zielprozesses anzupassen, bevor er gestartet wird. Dies ist eine aktualisierte Version von IDkmProcessLaunchEnvironmentFilter, die für Visual Studio 14.0 hinzugefügt wurde, um umgebungsfiltern zusätzliche Informationen bereitzustellen. Visual Studio 14 und höher ruft sowohl die alte als auch die neue API auf, sodass eine Komponente im Allgemeinen nicht beide Schnittstellen implementieren sollte.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, TransportKind.

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

IDkmProcessQueryOperation

Abfragen des Status des Debugvorgangs.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessSnapshotAddedNotification

IDkmProcessSnapshotAddedNotification wird von Komponenten implementiert, die auf das ProcessSnapshotAdded-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. ProcessSnapshotAdded wird ausgelöst, wenn ein DkmProcessSnapshot erstellt und dem zugeordneten DkmProcess hinzugefügt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmProcessSnapshotRemovedNotification

IDkmProcessSnapshotRemovedNotification wird von Komponenten implementiert, die auf das ProcessSnapshotRemoved-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. ProcessSnapshotRemoved wird ausgelöst, wenn ein DkmProcessSnapshot aus dem zugeordneten DkmProcess entfernt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmProductionAgent

Agent-Vorgänge im Zusammenhang mit produktionsbezogenen Diagnose. Der Agent wird gestartet, wobei STDIN und STDOUT umgeleitet werden. Ein Client kann in STDIN schreiben, indem er eine UTF8-Zeichenfolge über die SendMessage-Methode sendet. Wenn der Prozess in STDOUT schreibt, wird DkmCustomMessage::SendToVsService aufgerufen, wobei die Quell-ID auf DkmProductionAgent::UniqueId und der UTF8-codierte Inhalt in Param1 festgelegt ist.

Implementierungen dieser Schnittstelle werden immer aufgerufen (keine Filterung wird unterstützt). Um die Auswirkungen auf den Arbeitsspeicher zu verringern, wird empfohlen, diese Schnittstelle in einer kleinen DLL zu implementieren oder die Implementierung mit "CallOnlyWhenLoaded="true" zu konfigurieren.

Diese API wurde in Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) eingeführt.

IDkmProductionConnection

Vorgänge im Zusammenhang mit der Produktion Diagnose.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: TransportKind.

Diese API wurde in Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) eingeführt.

IDkmRecordedProcessInfoProvider

Schnittstelle, die von den DM-Basisdiensten implementiert wird, um aufgezeichnete Prozessinformationen bereitzustellen, ohne sie zu debuggen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: TransportKind.

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

IDkmRegisterWrite

Bietet die Möglichkeit, einen Registerwert nach CV-Konstante zu lesen oder zu schreiben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRequireFullTrustForSourceServerNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn RequireFullTrustForSourceServer aktiviert oder deaktiviert ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmReturnValuesNotification

IDkmReturnValuesNotification wird von Komponenten implementiert, die auf das ReturnValues-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Das ReturnValues-Ereignis wird während eines Schritts gesendet, wenn mindestens ein DkmRawReturnValues erfasst wurde. Die tatsächliche Auswertung wird für das StepComplete-Ereignis in dem Thread ausgeführt, in dem die Rückgabewerte aufgezeichnet wurden.

ReturnValues-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRunningProcessInfoProvider

Schnittstelle, die von den DM-Basisdiensten implementiert wird, um eine Prozessauflistung bereitzustellen und grundlegende Informationen zu ausgeführten Prozessen bereitzustellen, ohne einen Debugger an den Prozess anzufügen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: TransportKind.

IDkmRunningProcessInfoProvider160

Schnittstelle, die von den DM-Basisdiensten implementiert wird, um eine Prozessauflistung bereitzustellen und grundlegende Informationen zu ausgeführten Prozessen bereitzustellen, ohne einen Debugger an den Prozess anzufügen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: TransportKind.

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

IDkmRuntimeBreakpointConditionFailedNotification

IDkmRuntimeBreakpointConditionFailedNotification wird von Komponenten implementiert, die auf das RuntimeBreakpointConditionFailed-Ereignis lauschen möchten. IDkmRuntimeBreakpointConditionFailedNotification wird nach allen Implementierungen von IDkmRuntimeBreakpointConditionFailedReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Stellt eine Benachrichtigung bereit, dass ein Laufzeithaltepunkt erreicht wurde, aber bei einer Breakpointbedingung ein Laufzeitfehler auftritt.

RuntimeBreakpointConditionFailed-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Diese API wurde in Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3) eingeführt.

IDkmRuntimeBreakpointConditionFailedReceived

IDkmRuntimeBreakpointConditionFailedReceived wird von Komponenten implementiert, die auf das RuntimeBreakpointConditionFailed-Ereignis lauschen möchten. IDkmRuntimeBreakpointConditionFailedReceived wird vor IDkmRuntimeBreakpointConditionFailedNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Stellt eine Benachrichtigung bereit, dass ein Laufzeithaltepunkt erreicht wurde, aber bei einer Breakpointbedingung ein Laufzeitfehler auftritt.

RuntimeBreakpointConditionFailed-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Diese API wurde in Visual Studio 16 Update 3 (DkmApiVersion.VS16Update3) eingeführt.

IDkmRuntimeBreakpointHitWithErrorNotification

IDkmRuntimeBreakpointHitWithErrorNotification wird von Komponenten implementiert, die auf das RuntimeBreakpointHitWithError-Ereignis lauschen möchten. IDkmRuntimeBreakpointHitWithErrorNotification wird nach allen Implementierungen von IDkmRuntimeBreakpointHitWithErrorReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Stellt eine Benachrichtigung bereit, dass ein Laufzeithaltepunkt erreicht wurde, die Verarbeitung jedoch zu einem nicht wiederherstellbaren Fehler geführt hat. Der Prozess wird nun beendet, und der Haltepunkt befindet sich jetzt in einem Fehlerzustand und wird nicht erneut getroffen.

RuntimeBreakpointHitWithError-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

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

IDkmRuntimeBreakpointHitWithErrorReceived

IDkmRuntimeBreakpointHitWithErrorReceived wird von Komponenten implementiert, die auf das RuntimeBreakpointHitWithError-Ereignis lauschen möchten. IDkmRuntimeBreakpointHitWithErrorReceived wird vor IDkmRuntimeBreakpointHitWithErrorNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Stellt eine Benachrichtigung bereit, dass ein Laufzeithaltepunkt erreicht wurde, die Verarbeitung jedoch zu einem nicht wiederherstellbaren Fehler geführt hat. Der Prozess wird nun beendet, und der Haltepunkt befindet sich jetzt in einem Fehlerzustand und wird nicht erneut getroffen.

RuntimeBreakpointHitWithError-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

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

IDkmRuntimeBreakpointNotification

IDkmRuntimeBreakpointNotification wird von Komponenten implementiert, die auf das RuntimeBreakpoint-Ereignis lauschen möchten. IDkmRuntimeBreakpointNotification wird nach allen Implementierungen von IDkmRuntimeBreakpointReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Stellt eine Benachrichtigung bereit, dass ein Laufzeithaltepunkt (DkmRuntimeBreakpoint) erreicht wurde. Laufzeithaltepunkte sind die Breakpointobjekte auf niedriger Ebene. Die Benachrichtigung für die Breakpoints höherer Ebene (DkmPendingBreakpoint/DkmBoundBreakpoint) wird über das BoundBreakpointHit-Ereignis abgerufen.

RuntimeBreakpoint-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRuntimeBreakpointReceived

IDkmRuntimeBreakpointReceived wird von Komponenten implementiert, die auf das RuntimeBreakpoint-Ereignis lauschen möchten. IDkmRuntimeBreakpointReceived wird vor IDkmRuntimeBreakpointNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Stellt eine Benachrichtigung bereit, dass ein Laufzeithaltepunkt (DkmRuntimeBreakpoint) erreicht wurde. Laufzeithaltepunkte sind die Breakpointobjekte auf niedriger Ebene. Die Benachrichtigung für die Breakpoints höherer Ebene (DkmPendingBreakpoint/DkmBoundBreakpoint) wird über das BoundBreakpointHit-Ereignis abgerufen.

RuntimeBreakpoint-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRuntimeDataBreakpointHitNotification

IDkmRuntimeDataBreakpointHitNotification wird von Komponenten implementiert, die auf das RuntimeDataBreakpointHit-Ereignis lauschen möchten. IDkmRuntimeDataBreakpointHitNotification wird nach allen Implementierungen von IDkmRuntimeDataBreakpointHitReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Stellt eine Benachrichtigung bereit, dass ein Laufzeitdatenhaltepunkt erreicht wurde.

RuntimeDataBreakpointHit-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

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

IDkmRuntimeDataBreakpointHitReceived

IDkmRuntimeDataBreakpointHitReceived wird von Komponenten implementiert, die auf das RuntimeDataBreakpointHit-Ereignis lauschen möchten. IDkmRuntimeDataBreakpointHitReceived wird vor IDkmRuntimeDataBreakpointHitNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Stellt eine Benachrichtigung bereit, dass ein Laufzeitdatenhaltepunkt erreicht wurde.

RuntimeDataBreakpointHit-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

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

IDkmRuntimeDisassemblyProvider

Wird verwendet, um Anweisungen im Debugadressraum in Bezug auf eine bestimmte Laufzeit zu disassemblieren.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmRuntimeFunctionResolver

Diese Schnittstelle wird von Ausdrucksauswertern implementiert, die auf dem Zielcomputer geladen werden, um einen Funktions-/Adressausdruck und den anweisungen zuzuordnen, die durch ihn dargestellt werden. Dies wird verwendet, um Funktionshaltepunkte zu binden. Zusätzlich zu Ausdrucksauswertern kann diese Schnittstelle auch von anderen Komponenten implementiert werden, die Funktions breakpoints mithilfe von Daten aus dem Zielprozess binden möchten (z. B. systemeigene Breakpoints für die Exportfunktion).

Komponentenfilterung basierend auf LanguageId und/oder VendorId sollte sicherstellen, dass Guid.Empty einer der akzeptierten Werte in ihrem Filter ist. Weitere Informationen finden Sie unter DkmRuntimeFunctionResolutionRequest.CompilerId.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId.

IDkmRuntimeFunctionResolverClient

Diese Schnittstelle wird vom Haltepunkt-Manager implementiert, sodass sie eine Benachrichtigung erhalten kann, dass eine Anforderung zur Laufzeitfunktionsauflösung in eine neue Funktion aufgelöst wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId.

IDkmRuntimeHandleComparer

Mit dieser Schnittstelle können Concord-Komponenten die Werte von zwei ICorDebugHandleValue-Objekten vergleichen, indem sie die Aufrufe an GetValue über die shim EE weiterleiten, um den richtigen LocalContext einzurichten. Das direkte Aufrufen von GetValue für ein ICorDebugHandleValue-Objekt von Concord führt zu einer Ausnahme, die vom VIL-Host ausgelöst wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRuntimeInstanceLoadCompleteNotification

IDkmRuntimeInstanceLoadCompleteNotification wird von Komponenten implementiert, die auf das RuntimeInstanceLoadComplete-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. RuntimeInstanceLoadComplete wird vom Basisdebugmonitor gesendet, wenn das Starten oder Anfügen an den Prozess abgeschlossen ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmRuntimeInstanceLoadNotification

IDkmRuntimeInstanceLoadNotification wird von Komponenten implementiert, die auf das RuntimeInstanceLoad-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. RuntimeInstanceLoad wird ausgelöst, wenn ein DkmRuntimeInstance-Objekt erstellt wird. Dieses Ereignis kann verwendet werden, um zu erkennen, dass ein bestimmter Codetyp (z. B. nativ) jetzt in diesem Zielprozess debuggen wird. In Startszenarien wird das RuntimeInstanceLoad-Ereignis ausgelöst, bevor Code des angegebenen Typs die Chance hat, im Zielprozess auszuführen. Beim Debuggen von nativem Code schließt dies den gesamten Code im Zielprozess ein.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRuntimeInstanceUnloadNotification

IDkmRuntimeInstanceUnloadNotification wird von Komponenten implementiert, die auf das RuntimeInstanceUnload-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. RuntimeInstanceUnload wird ausgelöst, wenn eine Ausführungsumgebung aus dem Zielprozess entladen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRuntimeManagedHardwareDataBreakpointInfoProvider

Stellt CLR-Werte für verwaltete Hardwaredaten bps bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

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

IDkmRuntimeMonitorBreakpointHandler

Stellt Dienste zum Festlegen und Entfernen von Haltepunkten bereit. Diese Schnittstelle wird vom Debugmonitor für die meisten Runtimes implementiert. Die Implementierung muss ein Datenelement verwenden, um die Lebensdauer jedes aktivierten DkmRuntimeBreakpoints nachzuverfolgen, damit der Haltepunkt implizit deaktiviert werden kann, wenn der DkmRuntimeBreakpoint geschlossen wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRuntimeSetNextStatement

IDkmRuntimeSetNextStatement ist die Schnittstellenlaufzeitüberwachung, die implementiert wird, um set next-Anweisung zu unterstützen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmRuntimeStepper

IDkmRuntimeStepper ist die Schnittstellenlaufzeitmonitore, die implementiert werden, um das Schrittschritten zu unterstützen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmScriptDocumentContentInsertNotification

IDkmScriptDocumentContentInsertNotification wird von Komponenten implementiert, die auf das ScriptDocumentContentInsert-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Benachrichtigung, dass dem Zielprozess neue Inhalte hinzugefügt wurden. Für aggregierte Dokumente (DkmScriptDocumentFlags.AggregateDocument ist festgelegt) ist dies ein neuer Dokumentabschnitt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentContentRemoveNotification

IDkmScriptDocumentContentRemoveNotification wird von Komponenten implementiert, die auf das ScriptDocumentContentRemove-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Benachrichtigung, dass Inhalte aus dem Zielprozess entfernt wurden. Für aggregierte Dokumente (DkmScriptDocumentFlags.AggregateDocument ist festgelegt) entspricht dies einem gelöschten Textabschnitt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentProvider

Wird von Komponenten implementiert, die DkmScriptDocument-Objekte erstellen, um Dokumentinhalte und Benachrichtigungen bereitzustellen, wenn sich der Inhalt ändert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentQuery

API, die vom lokalen Skript-Agent implementiert wird, um Skriptdokumente mit Breakpointanforderungen abzugleichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentSourceProjectItemChanged

Schnittstelle zum Aktualisieren von Komponenten, wenn der Projektelementpfad für ein Skriptdokument festgelegt ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentSymbolProvider

Wird von Komponenten implementiert, die DkmScriptDocument-Objekte erstellen und diese als Grundlage für die Symbolauflösung verwenden. Diese Schnittstelle muss nicht vom Skriptdokumentsystem implementiert werden, das DkmResolvedDocument.ScriptDocument als NULL belässt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentTreeNodeCreateNotification

IDkmScriptDocumentTreeNodeCreateNotification wird von Komponenten implementiert, die auf das ScriptDocumentTreeNodeCreate-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. Benachrichtigung, wenn ein neues DkmScriptDocumentTreeNode-Objekt erstellt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmScriptDocumentTreeNodeUnloadNotification

IDkmScriptDocumentTreeNodeUnloadNotification wird von Komponenten implementiert, die auf das ScriptDocumentTreeNodeUnload-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Benachrichtigung, dass ein DkmScriptDocumentTreeNode aus dem Zielprozess entladen wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmScriptJmcStateChangeNotification

IDkmScriptJmcStateChangeNotification wird von Komponenten implementiert, die benachrichtigt werden möchten, wenn sich der JMC-Zustand für ein Skriptdokument ändert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

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

IDkmScriptSymbolCallback

Rückrufschnittstelle, die von Skriptsymbolanbietern implementiert wird, um schrittweise Anpassungen für Sprachen zu unterstützen, die in JavaScript kompilieren (oder möglicherweise auch andere Skriptsprachen).

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Es können die folgenden Eigenschaften verwendet werden: RuntimeId, SymbolProviderId.

IDkmScriptSymbolsUpdatedNotification

IDkmScriptSymbolsUpdatedNotification wird von Komponenten implementiert, die auf das ScriptSymbolsUpdated-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. Benachrichtigung, dass der Symbolstatus für mindestens ein Skriptdokument aktualisiert wurde. Dies wird verwendet, um Haltepunkte in skriptbasierten Modulen neu zu binden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmSerializedProcessInfoProvider

Schnittstelle, die von Basisdebugmonitoren implementiert wird, die ein Prozessabbildformat unterstützen. Derzeit vom Core Dump BDM implementiert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, TransportKind.

Diese API wurde in Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) eingeführt.

IDkmSerializedProcessInfoProviderFactory

Factoryschnittstelle zum Abrufen eines IDkmSerializedProcessInfoProvider-instance.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: TransportKind.

Diese API wurde in Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) eingeführt.

IDkmSetNextStatementQuery

Ermöglicht der Benutzeroberfläche, abzufragen, ob die aktuelle Anweisung auf eine Adresse festgelegt werden kann. Muss auf Clientseite implementiert werden, da es in Szenarien aufgerufen werden kann, die ein schnelles Ergebnis erfordern, z. B. das Ziehen der IP-Adresse im Debugger-Editor.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmSingleStepCompleteNotification

IDkmSingleStepCompleteNotification wird von Komponenten implementiert, die auf das SingleStepComplete-Ereignis lauschen möchten. IDkmSingleStepCompleteNotification wird nach allen Implementierungen von IDkmSingleStepCompleteReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Wird gesendet, wenn ein einzelner Schritt eines Threads abgeschlossen ist.

SingleStepComplete-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId.

IDkmSingleStepCompleteReceived

IDkmSingleStepCompleteReceived wird von Komponenten implementiert, die auf das SingleStepComplete-Ereignis lauschen möchten. IDkmSingleStepCompleteReceived wird vor IDkmSingleStepCompleteNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Wird gesendet, wenn ein einzelner Schritt eines Threads abgeschlossen ist.

SingleStepComplete-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SourceId.

IDkmSourceLinkQuery

Diese API wird verwendet, um Source Link Informationen zu lesen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

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

IDkmSourceLinkSymbolQuery

Diese API wird verwendet, um Source Link Konfigurationsinformationen von einem Symbolanbieter zu lesen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

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

IDkmSourceServerSymbolQuery

Diese API wird verwendet, um Informationen zu Quellserverdaten von einem Symbolanbieter zu lesen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmStackProvider

Stellt den Stapel bereit, der vom Benutzer angezeigt werden kann. Dieser Stapel wurde gefiltert, kommentiert und gemischt.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmStackWalkFrameAnnotationTextProvider

Stellt den Präfixtext für eine Stapelrahmenanmerkung bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SourceId.

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

IDkmStackWalkFrameInterfaceProvider

Diese Schnittstelle wird von Komponenten implementiert, die Stapelframes beitragen und eine zusätzliche Prüfschnittstelle für Ausdrucksauswerter und andere Komponenten bereitstellen möchten, die den Stapelrahmen untersuchen müssen.

HINWEIS: Die Datencontainer-API sollte nicht aus der Implementierung der zurückgegebenen benutzerdefinierten Schnittstelle verwendet werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmStackWalkFrameInterfaceProvider2

Diese Schnittstelle wird vom verwalteten Debugmonitor implementiert und bietet Zugriff auf den ICorDebugFrame.

HINWEIS: Die Datencontainer-API sollte nicht aus der Implementierung der zurückgegebenen benutzerdefinierten Schnittstelle verwendet werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmStartDebuggingOperations

Diese Schnittstelle enthält die API zum Starten eines neuen Prozesses unter dem Debugger oder zum Anfügen des Debuggers an einen vorhandenen Prozess.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmStepCompleteNotification

IDkmStepCompleteNotification wird von Komponenten implementiert, die auf das StepComplete-Ereignis lauschen möchten. IDkmStepCompleteNotification wird nach allen Implementierungen von IDkmStepCompleteReceived aufgerufen. Wenn diese Benachrichtigung aufgerufen wird, wird der Zielprozess beendet, und implementierende Benutzer können den Prozess entweder überprüfen oder eine kontrollierte Ausführung bewirken (Slip, func-eval).

Wird von einem Laufzeitmonitor gesendet, wenn ein Schritt erfolgreich abgeschlossen wurde. Beachten Sie, dass der Schritt möglicherweise in einem anderen Thread beendet wird, als er gestartet wurde.

StepComplete-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmStepCompleteReceived

IDkmStepCompleteReceived wird von Komponenten implementiert, die auf das StepComplete-Ereignis lauschen möchten. IDkmStepCompleteReceived wird vor IDkmStepCompleteNotification aufgerufen. Innerhalb dieser Benachrichtigung ist es nicht möglich, die Ausführung des Zielprozesses zu veranlassen (kein func-eval, kein Verrutschen).

Wird von einem Laufzeitmonitor gesendet, wenn ein Schritt erfolgreich abgeschlossen wurde. Beachten Sie, dass der Schritt möglicherweise in einem anderen Thread beendet wird, als er gestartet wurde.

StepComplete-Ereignisse können durch Aufrufen von DkmEventDescriptorS.Suppress() unterdrückt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmStepOverPropertiesAndOperatorsEnableNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn "IsStepOverPropertiesAndOperatorsEnabled" aktiviert oder deaktiviert ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmSteppingCodePathProvider

Wird von AD7 verwendet, um schrittweise in bestimmte Optionen einzusteigen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, RuntimeId, SymbolProviderId.

IDkmSteppingManager

Schnittstelle des Schritt-Managers. Diese Komponente wird von Microsoft implementiert und bietet schrittweise Schiedsverfahren zwischen den verschiedenen Debugmonitoren, die im Prozess aktiv sind.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmSteppingManagerCallback

Ermöglicht Laufzeitmonitoren das Abrufen von Informationen vom Stepping-Manager.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmSteppingManagerCallback11a

Erweitert die Information Runtime-Monitore, die vom Stepping-Manager abgerufen werden können.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Diese API wurde in Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) eingeführt.

IDkmSteppingManagerCallback169

Erweitert die Information Runtime-Monitore, die vom Stepping-Manager abgerufen werden können.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Diese API wurde in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) eingeführt.

IDkmStopDebuggingOperations

Diese Schnittstelle enthält die API zum Beenden des Debuggens. Diese Schnittstelle muss von Basisdebugmonitoren implementiert werden. Es ist auch möglich, diese Schnittstelle zu implementieren, um das Debuggen beenden für eine bestimmte Anwendung anzupassen. Beispielsweise könnte eine Komponente Terminate erneut implementieren, sodass der Debugger die Anwendung ordnungsgemäß herunterfahren würde, anstatt die TerminateProcess Win32-API zu verwenden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmStowedExceptionProvider

Schnittstelle, die vom Minidump BDM implementiert wird, um Informationen zu stowed Exception abzufragen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

Diese API wurde in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) eingeführt.

IDkmSuppressOptimizationsEnableNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn "IsSuppressOptimizationsEnabled" aktiviert oder deaktiviert ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmSymbolAlternateSourcePositionQuery

Optionale Schnittstelle, die von Symbolanbietern implementiert wird, die mehrere Quellzuordnungen für dasselbe Anweisungssymbol bereitstellen möchten – sowohl eine primäre Zuordnung als auch eine Sicherungszuordnung, falls das primäre Dokument nicht gefunden werden kann.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

Diese API wurde in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) eingeführt.

IDkmSymbolCompilerIdQuery

Diese API wird verwendet, um die Compiler-ID für ein bestimmtes Symbol abzurufen. Es wird von Symbolanbietern implementiert, die Symbolspeicher unterstützen, in denen die Binärdatei mehrere Sprachen enthalten kann. Anders ausgedrückt: Diese Schnittstelle muss nur implementiert werden, wenn DkmModule.CompilerId auf Guid.Empty/Guid.Empty festgelegt ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

IDkmSymbolCompilerIdQueryCallback

Diese API wird verwendet, um die Compiler-ID für ein bestimmtes Symbol abzurufen. Es wird von Symbolanbietern implementiert, die Symbolspeicher unterstützen, in denen die Binärdatei mehrere Sprachen enthalten kann. Anders ausgedrückt: Diese Schnittstelle muss nur implementiert werden, wenn DkmModule.CompilerId auf Guid.Empty/Guid.Empty festgelegt ist.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

IDkmSymbolDisassemblyQuery

Diese API wird verwendet, um Symbole im Disassemblierungsfenster aufzulösen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

IDkmSymbolDocumentCollectionQuery

Von Symbolanbietern implementierte API, damit der Haltepunkt-Manager und andere Komponenten die Sammlung von Dokumenten innerhalb eines Symbolspeichers abfragen können.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmSymbolDocumentSpanQuery

Von Symbolanbietern implementierte API, damit der Haltepunkt-Manager und andere Komponenten die Zuordnung "Dokumenttext span-symbol>" abfragen können, die sich in einem Symbolspeicher befindet.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

IDkmSymbolFileBytesQuery

Diese API wird verwendet, um unformatierte Bytes der Symboldatei von der Remoteseite abzurufen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Diese API wurde in Visual Studio 14 Update 3 Micro Update (DkmApiVersion.VS14Update3MicroUpdate) eingeführt.

IDkmSymbolFunctionResolver

Diese Schnittstelle wird von symbolbasierten Ausdrucksauswertern implementiert, um einen Funktions-/Adressausdruck und den anweisungen zuzuordnen, die durch ihn dargestellt werden. Dies wird verwendet, um Funktionshaltepunkte zu binden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SymbolProviderId.

IDkmSymbolHiddenAttributeQuery

Diese API wird verwendet, um Informationen zu einem Symbol zu lesen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

IDkmSymbolLocator

Schnittstelle, die von Symbolanbietern implementiert wird, die sich mit der Symbolsuche befassen. Anders ausgedrückt: Diese Schnittstelle würde nicht von Symbolanbietern implementiert, die sich nur mit Symbolformaten befassen, die sich innerhalb der gedebuggten Binärdatei befinden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId, TransportKind.

IDkmSymbolLocator174

Schnittstelle, die von Symbolanbietern implementiert wird, die sich mit der Symbolsuche befassen. Anders ausgedrückt: Diese Schnittstelle würde nicht von Symbolanbietern implementiert, die sich nur mit Symbolformaten befassen, die sich innerhalb der gedebuggten Binärdatei befinden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmSymbolLocatorCallback170

Stellt Rückrufe für den Symbollocator von der Serverseite bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmSymbolLocatorCallback177

Stellt Rückrufe für den Symbollocator von der Serverseite bereit.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmSymbolMemoryReader

Die von Der Basisdebug implementierte Schnittstelle überwacht, die zur Laufzeit Symbole aus dem Arbeitsspeicher von debuggee liest. Diese Schnittstelle wird von Basisdebugmonitoren implementiert, um Symbolformate zu behandeln, die zur Laufzeit im Arbeitsspeicher des Debuggees generiert oder geladen werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmSymbolPathChangeNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn sich die Symboleinstellungen ändern.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

IDkmSymbolProviderCallback

Rückrufschnittstelle, die von Symbolanbietern implementiert wird, um Informationen aus dem Symbolspeicher für Debugmonitore bereitzustellen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

IDkmSymbolQuery

Diese API wird verwendet, um Informationen zu einem Symbol zu lesen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: SymbolProviderId.

IDkmSymbolQueryCallback

Ermöglicht Remotekomponenten das Abrufen von Quellpositionsinformationen, wenn sich der Symbolanbieter auf dem VS-Computer befindet.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: RuntimeId, SymbolProviderId.

IDkmSymbolStackWalk

Stellt einen Mechanismus zum Durchlaufen nativer Stapelframes mithilfe von Informationen aus Symboldateien bereit. Dieser Mechanismus wird verwendet, um alle Stapelframes zu durchlaufen, die auf dem Zielcomputer nicht aufgelöst werden konnten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, SymbolProviderId.

IDkmTaskProvider

Schnittstelle, die von der Aufgabenanbieterkomponente implementiert wird, um Informationen zu Aufgaben abzurufen. Diese Schnittstelle kann in zukünftigen Versionen von Visual Studio geändert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TaskProviderId.

IDkmTaskProvider165

Schnittstelle, die von der Aufgabenanbieterkomponente implementiert wird, um Informationen zu Aufgaben asynchron abzurufen. Diese Schnittstelle kann in zukünftigen Versionen von Visual Studio geändert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: EngineId, RuntimeId, SourceId, TaskProviderId.

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

IDkmTaskProviderCreateNotification

IDkmTaskProviderCreateNotification wird von Komponenten implementiert, die auf das TaskProviderCreate-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Gibt an, dass ein Aufgabenanbieterobjekt erstellt wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TaskProviderId.

IDkmTaskProviderInitialize

Optionale Schnittstelle, die von Aufgabenanbietern implementiert wird, um eine Benachrichtigung zu erhalten, wenn Aufgabenanbieter zum ersten Mal für einen bestimmten Prozess angefordert werden. Diese Schnittstelle kann in zukünftigen Versionen von Visual Studio geändert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmTaskSynchronizationObjectProvider

Schnittstelle, die von Aufgabenanbieterkomponenten implementiert wird, um den Satz von Synchronisierungsobjekten bereitzustellen, die einem Task gehören. Diese Schnittstelle kann in zukünftigen Versionen von Visual Studio geändert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TaskProviderId.

IDkmTerminalLauncher

Rückrufschnittstelle, die verwendet wird, um ein neues Terminal (Konsole) zu starten, in dem der Zielprozess gestartet wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: TransportKind.

Diese API wurde in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) eingeführt.

IDkmThreadContextOperation

Von einem Basisdebugmonitor bereitgestellte Vorgänge zum Abrufen und Aktualisieren des Kontexts eines Threads (Registerwerte).

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadCreateNotification

IDkmThreadCreateNotification wird von Komponenten implementiert, die auf das ThreadCreate-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ThreadCreate wird ausgelöst, wenn ein neuer Thread im Zielprozess gestartet wird.

ThreadCreate-Ereignisse können unterdrückt werden. In diesem Fall ist der Thread für Komponenten über der Ebene unsichtbar, auf der der Thread unterdrückt wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadCurrentWinRtExceptionQuery

Diese Schnittstelle wird von Laufzeitdebugmonitoren implementiert, um die neuesten WinRT-Ausnahmeinformationen für den angegebenen Thread zurückzugeben.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmThreadDisplayPropertiesQuery

Wird verwendet, um die Kategorie eines Threads zu bestimmen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmThreadExitNotification

IDkmThreadExitNotification wird von Komponenten implementiert, die auf das ThreadExit-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. ThreadExit wird ausgelöst, wenn ein Thread im Zielprozess beendet wird. Er wird nicht ausgelöst, wenn der Zielprozess beendet wird, während der Thread noch ausgeführt wird.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadLocationProvider

Gibt die Position eines Threads an, wie er im Threadfenster oder in der Dropdownliste auf der Symbolleiste des Debugspeicherorts angezeigt wird. Dies wird von der Microsoft-Stapelanbieterkomponente implementiert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadNameChangeNotification

IDkmThreadNameChangeNotification wird von Komponenten implementiert, die auf das ThreadNameChange-Ereignis lauschen möchten. Wenn diese Benachrichtigung ausgelöst wird, wird der Zielprozess angehalten und kann untersucht werden. ThreadNameChange wird ausgelöst, wenn ein Threadname im Zielprozess geändert wird. Derzeit wird dies nur ausgelöst, wenn der verwaltete Thread seinen Namen ändert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmThreadNameQuery

Wird verwendet, um den Namen eines Threads zu bestimmen. Gibt den Anzeigenamen des Threads nicht zurück.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmThreadStackRangeProvider

Gibt die Stapelbasis und den Grenzwert eines Threads zurück.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadSuspension

Wird aufgerufen, um einen Thread anzusetzen oder fortzusetzen und die aktuelle Anzahl der Threadunterbrechungen zu erhalten.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmTimeTravellingMonitor

Diese Schnittstelle wird durch Debugmonitore implementiert, die Zeitreisen ermöglichen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmTlsReadWrite

Ermöglicht das Lesen und Schreiben von Win32-TLS-Slots innerhalb des Zielprozesses.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmTraceSettingsNotification

Schnittstelle zum Aktualisieren von Komponenten, wenn Ablaufverfolgungseinstellungen geändert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId.

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

IDkmUserCodeDeterminer

Bestimmt, ob ein Frame ein Benutzer oder kein Benutzer ist, wenn eine solche Bestimmung bei der Erstellung des Frames nicht vorgenommen wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmVirtualMemoryAllocator

Wird von Basisdebugmonitoren implementiert, um die Zuordnung bzw. frei von virtuellem Arbeitsspeicher im Zielprozess zuzulassen.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmVirtualThreadCreateNotification

IDkmVirtualThreadCreateNotification wird von Komponenten implementiert, die auf das VirtualThreadCreate-Ereignis lauschen möchten. Der Zielprozess kann während dieser Benachrichtigung weiterhin ausgeführt werden. Wenn VirtualThreadCreate aufgerufen wird, wird ein Ereignis ausgelöst, das die Listener benachrichtigt, dass ein neues DkmVirtualThread erstellt wurde.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmVisualizationDataCompiler

Optionale Schnittstelle zum Kompilieren von Objektvisualisierungsdaten aus einem lesbaren Formular in ein DkmCompiledVisualizationData-Objekt. Derzeit wird diese Schnittstelle nur von C++ implementiert.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: CompilerVendorId, LanguageId.

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

IDkmVisualStudioServices

Schnittstelle, die von AD7AL als Gateway zu Diensten implementiert wird, die vom Rest von Visual Studio bereitgestellt werden.

Implementierungen dieser Schnittstelle werden immer aufgerufen (keine Filterung wird unterstützt). Um die Auswirkungen auf den Arbeitsspeicher zu verringern, wird empfohlen, diese Schnittstelle in einer kleinen DLL zu implementieren oder die Implementierung mit "CallOnlyWhenLoaded="true" zu konfigurieren.

IDkmVisualStudioServices120

Schnittstelle, die von AD7AL als Gateway zu Diensten implementiert wird, die vom Rest von Visual Studio bereitgestellt werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

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

IDkmVolatileMemoryOperation

Bietet Unterstützung für Lese- und Schreibspeicher. Im Gegensatz zu IDkmMemoryOperation kann diese Schnittstelle verwendet werden, wenn der Prozess ausgeführt wird, und es werden keine Ergebnisse zwischengespeichert, sodass sie mit Sorgfalt verwendet werden sollte.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.

IDkmVolatileThreadProperties

Macht flüchtige Eigenschaften eines Threads verfügbar, z. B. Prioritäts- und Affinitätsmaske. Es wird erwartet, dass sich diese Werte im Laufe der Zeit ändern und nicht von Aufrufenden zwischengespeichert werden.

Implementierungen dieser Schnittstelle können einschränken, wenn sie mithilfe eines in der Komponentenkonfiguration definierten Filters aufgerufen werden. Die folgenden Eigenschaften können verwendet werden: BaseDebugMonitorId, EngineId, TransportKind.