Freigeben über


DkmClrModuleInstance Klasse

Definition

"DkmClrModuleInstance" wird für Module verwendet, die in die Common Language Runtime geladen werden.

Abgeleitete Klassen: DkmClrNcModuleInstance

public ref class DkmClrModuleInstance : Microsoft::VisualStudio::Debugger::DkmModuleInstance
[System.Runtime.InteropServices.Guid("29da4ffa-6063-6232-46dd-64d14cf56ddf")]
public class DkmClrModuleInstance : Microsoft.VisualStudio.Debugger.DkmModuleInstance
[<System.Runtime.InteropServices.Guid("29da4ffa-6063-6232-46dd-64d14cf56ddf")>]
type DkmClrModuleInstance = class
    inherit DkmModuleInstance
Public Class DkmClrModuleInstance
Inherits DkmModuleInstance
Vererbung
Vererbung
Abgeleitet
Attribute

Eigenschaften

AppDomain

DkmClrAppDomain stellt eine CLR-App-Domäne innerhalb eines Prozesses dar, der gerade gedebuggt wird.

BaseAddress

[Optional] Die Startspeicheradresse des Moduls, an dem das Modul geladen wurde. Dieser Wert ist 0, wenn das Modul nicht in einem zusammenhängenden Speicherblock geladen wurde.

(Geerbt von DkmModuleInstance)
ClrFlags

Flags, die Merkmale einer DkmModuleInstance angibt, die von der CLR geladen wurde.

Connection

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

(Geerbt von DkmModuleInstance)
Flags

Flags, die Merkmale einer DkmModuleInstance angeben.

(Geerbt von DkmModuleInstance)
FullName

Vollqualifizierter Modulname. Bei dateibasierten Modulen ist dies der vollständige Pfad zum Modul (z. B. c:\windows\system32\kernel32.dll.

(Geerbt von DkmModuleInstance)
ILImageSize

Gibt die Größe des IL-Images dieses Moduls an, da es sich auf die Symbolserversuche bezieht. Für Desktop-.NET Framework wird dadurch die IL-Bildgröße angegeben, die sich von der Rohbildgröße im Fall von ngen unterscheidet. Dies liegt daran, dass nur das IL-Image das ist, was auf Symbolservern indiziert wird. Für .NET Core ngen und ausführungsbereit gibt dies die rohe Bildgröße an, da das ngen/ready to run image (ngen/ready to run image) indiziert ist, und wir möchten keine Suche basierend auf der nur IL-Bildgröße durchführen.

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

IsDisabled

Gibt an, ob dieses Modul instance deaktiviert wurde. Deaktivierte Module werden vom Debugger weitgehend ignoriert. Bei nativen Modulen wird der Adressbereich des deaktivierten Moduls so behandelt, als wäre er nicht zugeordnet. Bei CLR-Modulen werden alle Frames aus diesen Modulen in der Aufrufliste ausgeblendet.

(Geerbt von DkmModuleInstance)
IsUnloaded

Gibt true zurück, wenn ein "entladenes" Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass beim Überprüfen dieser status sorgfältig darauf geachtet werden muss, dass die zurückgegebene status nach dem Lesen möglicherweise nicht mehr korrekt ist.

(Geerbt von DkmDataContainer)
LoadContext

Zeichenfolgenbeschreibung des Kontexts, unter dem dieses Modul geladen wurde. Beispiel: "Win32" oder "CLR v2.0.50727: Standarddomäne".

(Geerbt von DkmModuleInstance)
LoadOrder

Die ganzzahlige Anzahl der Modulinstanzen, die bis und einschließlich dieses Moduls geladen wurden. Jede Laufzeit instance die Anzahl ihrer eigenen Ladereihenfolge nachverfolgt.

(Geerbt von DkmModuleInstance)
MemoryLayout

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

(Geerbt von DkmModuleInstance)
MinidumpInfoPart

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

(Geerbt von DkmModuleInstance)
Module

[Optional] Die Darstellung eines Moduls (DkmModule), das diesem Modul zugeordnet ist, instance durch den Symbolhandler. Dieser Wert ist anfänglich NULL und wird zugewiesen, wenn diesem Modul symbole instance zugeordnet sind.

(Geerbt von DkmModuleInstance)
Mvid

Modulversionsbezeichner aus dem geladenen Modul. Dies ist ein eindeutiger Wert, der beim Erstellen der dll/exe von Linkern/Compilern in eine exe/dll eingebettet wird. Jedes Mal, wenn die dll/exe kompiliert wird, wird ein neuer Wert generiert.

Name

Kurze Darstellung des Modulnamens. Bei dateibasierten Modulen ist dies der Dateiname und die Erweiterung (z. B. kernel32.dll).

(Geerbt von DkmModuleInstance)
Process

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

(Geerbt von DkmModuleInstance)
RuntimeInstance

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

Size

[Optional] Die Anzahl der Bytes im Speicherbereich des Moduls. Dieser Wert ist null, wenn das Modul nicht in einem zusammenhängenden Speicherblock geladen wurde.

(Geerbt von DkmModuleInstance)
SymbolFileId

[Optional] Enthält Informationen, die zum Suchen nach Symbolen für dieses Modul erforderlich sind. Unter Win32 sind diese Informationen im IMAGE_DEBUG_DIRECTORY enthalten.

(Geerbt von DkmModuleInstance)
TagValue

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

(Geerbt von DkmModuleInstance)
TimeDateStamp

Datum/Uhrzeit des Erstellungszeitpunkts des geladenen Moduls. Dieser Wert wird aus dem IMAGE_NT_HEADERS des geladenen Moduls abgerufen. Die Maßeinheit ist ein FILETIME-Wert, bei dem es sich um einen 64-Bit-Wert handelt, der die Anzahl der Intervalle von 100 Nanosekunden seit dem 1. Januar 1601 (UTC) darstellt.

(Geerbt von DkmModuleInstance)
UniqueId

Identifiziert eindeutig das DkmModuleInstance-Objekt.

(Geerbt von DkmModuleInstance)
Version

[Optional] Dateiversionsinformationen.

(Geerbt von DkmModuleInstance)

Methoden

CanDecompileMethod(DkmClrMethodId)

Stellt Informationen dazu bereit, ob die angegebene Methode dekompiliert werden kann.

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

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

CanDecompileModule(DkmDecompilerMode)

Enthält Informationen dazu, ob das Modul in einem bestimmten Modus dekompiliert werden kann oder nicht.

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

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

ClearTransitionModuleFlag()

Laufzeitinstanzen rufen diese Methode auf, um ein Modul als Begrenzungsmodul zu markieren. Beim Schrittweisen sollten Laufzeiten überprüfen, ob der Schritt ein Begrenzungsmodul erreicht hat, und die Schrittweisen Schiedsverfahren beginnen, falls vorhanden. Beachten Sie, dass einige Runtimes diese Anforderung möglicherweise nicht einhalten können. Der Dispatcher behält die Anzahl der Aufrufe von FlagAsTransitionModule bei. Nur wenn eine übereinstimmende Anzahl von Aufrufen von ClearTransitionModuleFlag das Modul nicht mehr als Übergangsmodul betrachtet wird.

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

(Geerbt von DkmModuleInstance)
Create(String, String, UInt64, DkmModuleVersion, DkmSymbolFileId, DkmModuleFlags, DkmModuleMemoryLayout, UInt64, UInt32, UInt32, String, DkmClrRuntimeInstance, Guid, DkmClrModuleFlags, DkmClrAppDomain, Boolean, DkmModule, DkmModuleInstance+MinidumpInfo, DkmDataItem)

Create ein neues DkmClrModuleInstance-Objekt instance.

Diese Methode sendet ein ModuleInstanceLoad-Ereignis.

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

Create(String, String, UInt64, DkmModuleVersion, DkmSymbolFileId, DkmModuleFlags, DkmModuleMemoryLayout, UInt64, UInt32, UInt32, String, DkmClrRuntimeInstance, Guid, DkmClrModuleFlags, DkmClrAppDomain, UInt32, Boolean, DkmModule, DkmModuleInstance+MinidumpInfo, DkmDataItem)

Create ein neues DkmClrModuleInstance-Objekt instance.

Diese Methode sendet ein ModuleInstanceLoad-Ereignis.

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

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

Decompile()

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole.

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

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

(Geerbt von DkmModuleInstance)
Decompile(DkmDecompilerMode, String, Int32)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten bei einem Fehler S_OK zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult>)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole.

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

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

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

(Geerbt von DkmModuleInstance)
Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten bei einem Fehler S_OK zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

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

(Geerbt von DkmModuleInstance)
Decompile(DkmWorkList, DkmDecompilerMode, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten bei einem Fehler S_OK zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

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

Decompile(String, Int32)

Dekompiliert den Code für ein Modul in C# und erstellt ein neues portables PDB mit eingebetteter Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten S_OK bei Einem Fehler zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

(Geerbt von DkmModuleInstance)
DecompileDocument(DkmWorkList, String, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Dekompiliert den Code für ein Dokument in C# und aktualisiert die Symboldatei, die dem enthaltenden Modul zugeordnet ist, mit den erforderlichen Debuginformationen und der eingebetteten Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten bei einem Fehler S_OK zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

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

DecompileDocument(String, String, Int32)

Dekompiliert den Code für ein Dokument in C# und aktualisiert die Symboldatei, die dem enthaltenden Modul zugeordnet ist, mit den erforderlichen Debuginformationen und der eingebetteten Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten bei einem Fehler S_OK zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

DecompileMethods(DkmWorkList, ReadOnlyCollection<DkmClrMethodId>, DkmCompletionRoutine<DkmDecompileAsyncResult173>)

Dekompiliert den Code für die Methoden in C# und aktualisiert die Symboldatei, die dem enthaltenden Modul zugeordnet ist, mit den erforderlichen Debuginformationen und der eingebetteten Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten bei einem Fehler S_OK zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

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

DecompileMethods(ReadOnlyCollection<DkmClrMethodId>, String, Int32)

Dekompiliert den Code für die Methoden in C# und aktualisiert die Symboldatei, die dem enthaltenden Modul zugeordnet ist, mit den erforderlichen Debuginformationen und der eingebetteten Quelle. Alle Module, die diese Symboldatei gemeinsam nutzen, beginnen mit der Verwendung dieser aktualisierten Symbole. Implementierungen sollten bei einem Fehler S_OK zurückgeben und das tatsächliche HRESULT und alle zusätzlichen Fehlerinformationen über die Parameter "HR" und "ErrorMessage" zurückgeben.

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

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

FlagAsTransitionModule()

Laufzeitinstanzen rufen diese Methode auf, um ein Modul als Begrenzungsmodul zu markieren. Beim Schrittweisen sollten Laufzeiten überprüfen, ob der Schritt ein Begrenzungsmodul erreicht hat, und mit dem Schrittweisen Durchlaufen der Schlichtung beginnen, falls dies derEnt ist. Beachten Sie, dass einige Laufzeiten diese Anforderung möglicherweise nicht einhalten können. Der Verteiler behält die Anzahl der Aufrufe bei. Nur wenn eine übereinstimmende Anzahl von Aufrufen von ClearTransitionModuleFlag erfolgt ist, wird das Modul nicht mehr als Übergangsmodul betrachtet.

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

(Geerbt von DkmModuleInstance)
GetBaselineMetaDataBytes()

Ruft die Baselinebytes der CLR-Metadaten aus einem bestimmten Modul ab.

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

GetBaselineMetaDataBytesPtr(UInt32)

Rufen Sie einen Zeiger auf die ursprünglichen Rohmetadatenbytes für das angegebene Modul ab.

Standorteinschränkung: Keine.

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

GetCorObject()

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

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

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

GetDataItem<T>()

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

(Geerbt von DkmDataContainer)
GetEncAvailability(String)

Überprüft, ob Bearbeiten und Fortfahren für das entsprechende verwaltete Modul instance unterstützt wird.

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

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

GetEncILDelta(Int32)

Verantwortlich für die Abfrage des IL-Deltas, das einem CLR-Modul instance zugeordnet ist. Das IL-Delta sind die sich aus einer Codeänderung ergebenden Bytes, die sich auf mehrere Methoden auswirken können. Dies wird vom VIL verwendet, wenn Informationen zu einer geänderten Methode innerhalb eines Moduls abgefragt werden.

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

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

GetGPUDisassembly(UInt64, UInt32, Boolean, Boolean)

Rufen Sie die Disassemblierung des Adressbereichs im debuggee-Modul instance ab.

(Geerbt von DkmModuleInstance)
GetGPUDisassemblySize()

Gibt die Disassemblierungsgröße im debuggee-Modul instance zurück.

(Geerbt von DkmModuleInstance)
GetLocalSignatureToken(Int32)

Ruft das Signaturtoken für eine lokale Variablensignatur ab, wenn ein Methodentoken angegeben wird.

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

GetMetaDataBytes()

Ruft die Bytes der CLR-Metadaten aus einem bestimmten Modul ab. Diese Bytes können dann an IMetaDataDispenser::OpenScope übergeben werden, um die Metadaten zu decodieren.

GetMetaDataBytesPtr(UInt32)

Rufen Sie einen Zeiger auf die Unformatierten Metadatenbytes für das angegebene Modul ab.

HINWEIS: Dieser Zeigerwert wird ungültig, wenn/wenn das Modul a) entladen oder b) geändert wird. So erkennen Sie diese Szenarien: a) Fügen Sie dem Modul instance ein Datenelement hinzu. Der Zeiger ist ungültig, nachdem die OnClose-Methode aufgerufen wurde (wenn das Modul instance entladen wird). b) Implementieren sie IDkmClrModuleModifiedNotification.

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

GetMetaDataFileInfo(Boolean, UInt32, UInt32)

Ruft die Informationen ab, die zum Lesen der Metadaten direkt aus einer Datei auf dem Datenträger erforderlich sind.

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

GetMetaDataImport()

Ruft die CLR-Metadaten aus einem bestimmten Modul ab. Weitere Informationen zu Metadaten finden Sie unter IMetaDataImport-Dokumentation in MSDN.

HINWEIS: Aufrufer müssen sehr vorsichtig sein, wenn sie diese API aus verwaltetem Code verwenden. Die IMetaDataImport-Implementierung enthält möglicherweise ein Dateihandle für eine Debuggeedatei, und das Dateihandle wird nur geschlossen, wenn die COM-Verweisanzahl 0 erreicht. Daher muss es manuell freigegeben werden (Marshal.IsComObject + Marshal.ReleaseComObject), anstatt darauf zu warten, dass der GC erkennt, dass das Objekt freigegeben werden kann. Stellen Sie beim Testen sicher, dass die Debuggee-Datei über mindestens 64 KB Metadaten verfügt, da der Metadatenleser die Datei nicht für das Lesen gesperrt hält, wenn es um kleine Dateien geht.

GetMetadataStatus()

Abrufen von Metadaten status.

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

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

GetMethodTokens(DkmWorkList, String, String, DkmCompletionRoutine<DkmGetMethodTokensAsyncResult>)

Stellt einen Mechanismus zum Abrufen von Metadatentoken für eine Methode bereit, die einer Klasse zugeordnet ist. Entspricht IMetaDataImport::EnumMethodsWithName.

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

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

GetMethodTokens(String, String, Int32[])

Stellt einen Mechanismus zum Abrufen von Metadatentoken für eine Methode bereit, die einer Klasse zugeordnet ist. Entspricht IMetaDataImport::EnumMethodsWithName.

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

GetNextGPUInstructionAddress(UInt64)

Gibt die Adresse der nächsten Anweisung relativ zu einer Startadresse zurück.

(Geerbt von DkmModuleInstance)
GetSymbolLoadInformation()

Gibt eine Zeichenfolge zurück, die die verschiedenen Stellen beschreibt, an denen nach Symbolen gesucht wurde, und das Ergebnis der Überprüfung dieser Position. Diese Informationen werden verwendet, um die "Symbolladeinformationen" im Modulfenster aufzufüllen.

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

(Geerbt von DkmModuleInstance)
GetSymbolSearchResult()

Ruft alle Symbolsuchergebnisse ab, die diesem Modul instance zugeordnet sind.

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

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

(Geerbt von DkmModuleInstance)
GetSymbolSearchResult(DkmWorkList, DkmCompletionRoutine<DkmGetSymbolSearchResultAsyncResult>)

Ruft alle Symbolsuchergebnisse ab, die diesem Modul instance zugeordnet sind.

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

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

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

(Geerbt von DkmModuleInstance)
GetSymbolStatusMessage(Boolean)

Rufen Sie eine lokalisierte Zeichenfolgenbeschreibung des aktuellen Symbols status ab.

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

(Geerbt von DkmModuleInstance)
GetSymbolStatusMessage(DkmWorkList, Boolean, DkmCompletionRoutine<DkmGetSymbolStatusMessageAsyncResult>)

Rufen Sie eine lokalisierte Zeichenfolgenbeschreibung des aktuellen Symbols status ab.

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

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

(Geerbt von DkmModuleInstance)
GetSymUnmanagedReader()

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

Standorteinschränkung: Stellt eine partielle Implementierung von ISymUnmanagedReader2 auf beiden Seiten der Remoteverbindung bereit.

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

GetTypeIdForTypeName(String)

Gibt die Typ-ID für einen angegebenen Typnamen zurück.

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

InterpretManagedMethod(DkmClrMethodId, ReadOnlyCollection<DkmClrType>, ReadOnlyCollection<DkmClrType>, DkmILInterpreterValue, ReadOnlyCollection<DkmILInterpreterValue>, Int32, DkmILInterpreterOptions, String)

Simuliert die Ausführung einer Methode für ein Objekt, indem der MSIL-Code der Methode interpretiert wird. Das Ergebnis der Methode wird an den Aufrufer zurückgegeben. Im Gegensatz zu einer Funktionsauswertung, bei der die Methode tatsächlich im Ziel ausgeführt wird, führt das Interpretieren einer Methode die Methode jedoch nicht tatsächlich aus, sondern simuliert lediglich das Verhalten der Methode. Da die Methode nie tatsächlich ausgeführt wird, werden alle Nebenwirkungen, die sich aus der Ausführung der Methode ergeben, verworfen, nachdem die Interpretation der Methode abgeschlossen ist, sodass der Zielprozess in einem identischen Zustand wie vor dem Aufruf bleibt.

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

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

IsSuppressed()

Mit dieser Methode kann eine Komponente bestimmen, ob das Modulladeereignis für ein Modul unterdrückt wurde.

Diese API wurde in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) eingeführt.

(Geerbt von DkmModuleInstance)
IsTransitionModule()

Gibt true zurück, wenn ein Laufzeitmodul instance dieses Modul als Übergangsmodul gekennzeichnet hat.

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

(Geerbt von DkmModuleInstance)
IsUserCode()

Bestimmt, ob ein Modul als Benutzercode gilt.

Standorteinschränkung: Diese Methode kann von einer IDE-Komponente aufgerufen werden. Ab Visual Studio 2013 Update 2 ist es auch möglich, dies über eine Überwachungskomponente für verwalteten Code aufzurufen. Ab Visual Studio 2017 Update 8 wurde die CallDirection der API von "Normal" als "Bidirektional" festgelegt und kann jetzt von jeder Komponente aufgerufen werden, AsyncCaller wurde auf "true" und CallerLocationConstraint wurde von "NoMarshalling" auf "None" festgelegt.

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

(Geerbt von DkmModuleInstance)
IsUserCode(DkmWorkList, DkmCompletionRoutine<DkmModuleInstanceIsUserCodeAsyncResult>)

Bestimmt, ob ein Modul als Benutzercode gilt.

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

Standorteinschränkung: Diese Methode kann von einer IDE-Komponente aufgerufen werden. Ab Visual Studio 2013 Update 2 ist es auch möglich, dies über eine Überwachungskomponente für verwalteten Code aufzurufen. Ab Visual Studio 2017 Update 8 wurde die CallDirection der API von "Normal" als "Bidirektional" festgelegt und kann jetzt von jeder Komponente aufgerufen werden, AsyncCaller wurde auf "true" und CallerLocationConstraint wurde von "NoMarshalling" auf "None" festgelegt.

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

(Geerbt von DkmModuleInstance)
OnBinaryLoaded(String)

Auslösen eines BinaryLoaded-Ereignisses. Komponenten, die die Ereignissenkenschnittstelle implementieren, erhalten die Ereignisbenachrichtigung. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

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

(Geerbt von DkmModuleInstance)
OnBinaryReloadOpportunity()

Auslösen eines BinaryReloadOpportunity-Ereignisses. Komponenten, die die Ereignissenkenschnittstelle implementieren, erhalten die Ereignisbenachrichtigung. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

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

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

(Geerbt von DkmModuleInstance)
OnModuleModified()

Diese Methode wird aufgerufen, wenn sich ein Modul aufgrund von EnC oder dynamisch ausgegebenem Code ändert.

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

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

(Geerbt von DkmModuleInstance)
OnSymbolsLoaded(DkmModule, Boolean)

Diese Methode wird von Basisdebugmonitoren als Reaktion auf einen Aufruf von IDkmModuleSymbolsLoaded.RaiseSymbolsLoadedEvent aufgerufen. Diese Methode muss über den Ereignisthread oder über den Anforderungsthread als Teil eines Neuladens aufgerufen werden. Basisdebugmonitore sollten synchron zum Ereignisthread wechseln, den Zielprozess anhalten und OnSymbolsLoaded aufrufen.

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

(Geerbt von DkmModuleInstance)
OnSymbolsUpdated(DkmModule)

Auslösen eines ModuleSymbolsUpdated-Ereignisses. Komponenten, die die Ereignissenkenschnittstelle implementieren, erhalten die Ereignisbenachrichtigung. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

(Geerbt von DkmModuleInstance)
ReadSymbols()

Diese Methode wird von Symbolhandlern aufgerufen, um Symbole für DkmModuleInstances zu lesen, deren Symbole sich im Arbeitsspeicher von debuggee befinden.

(Geerbt von DkmModuleInstance)
RemoveDataItem<T>()

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

(Geerbt von DkmDataContainer)
ResolveTypeName(String, ReadOnlyCollection<DkmClrType>)

Löst einen Typnamen in einen Typ auf. Wenn der Typ generisch ist, werden die generischen Parameter nicht instanziiert.

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

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

SetDataItem<T>(DkmDataCreationDisposition, T)

Platzieren Sie ein neues Element im Datencontainer.

(Geerbt von DkmDataContainer)
SetDisabled(Boolean)

Updates die deaktivierte status für ein Modul. Diese Methode kann nur von einem ModuleInstanceLoad-Ereignis aufgerufen werden. Beim Deaktivieren eines Moduls ist es üblich, auch das Modulladeereignis zu unterdrücken.

(Geerbt von DkmModuleInstance)
SetModule(DkmModule, Boolean)

Diese Methode wird von einem Symbolanbieter aufgerufen, um ein DkmModule-Ereignis einer DkmModuleInstance zuzuordnen und ein ModuleSymbolsLoaded-Ereignis auszulösen. Es kann nur einmal für ein DkmModuleInstance-Objekt aufgerufen werden. Durch den Aufruf dieser API wird sowohl die Zuordnung DkmModule-DkmModuleInstance<> hergestellt als auch ein ModuleSymbolsLoaded-Ereignis ausgelöst.

(Geerbt von DkmModuleInstance)
TryLoadBinary()

Versuchen Sie, eine Binärdatei zu laden, die zuvor nicht geladen werden konnte, indem Sie aktualisierte Symbolpfade verwenden.

(Geerbt von DkmModuleInstance)
TryLoadBinary(DkmWorkList, DkmCompletionRoutine<DkmTryLoadBinaryAsyncResult>)

Versuchen Sie, eine Binärdatei zu laden, die zuvor nicht geladen werden konnte, indem Sie aktualisierte Symbolpfade verwenden.

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

(Geerbt von DkmModuleInstance)
TryLoadDecompiledSymbols()

Versucht, zwischengespeicherte dekompilierte Symbole für das Modul zu laden.

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

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

TryLoadDecompiledSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadDecompiledSymbolsAsyncResult>)

Versucht, zwischengespeicherte dekompilierte Symbole für das Modul zu laden.

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

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

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

TryLoadSymbols()

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

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

(Geerbt von DkmModuleInstance)
TryLoadSymbols(DkmSymbolLoadFlags)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

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

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

(Geerbt von DkmModuleInstance)
TryLoadSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

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

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

(Geerbt von DkmModuleInstance)
TryLoadSymbols(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

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

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

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

(Geerbt von DkmModuleInstance)
TryLoadSymbolsCallback()

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt an die "echte" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

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

(Geerbt von DkmModuleInstance)
TryLoadSymbolsCallback(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsCallbackAsyncResult>)

Wird aufgerufen, um das Laden von Symbolen für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

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

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt an die "echte" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

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

(Geerbt von DkmModuleInstance)
TryLoadSymbolsCallback177(DkmSymbolLoadFlags)

Wird aufgerufen, um das Laden lokal vorhandener Symbole für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt an die "echte" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

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

(Geerbt von DkmModuleInstance)
TryLoadSymbolsCallback177(DkmWorkList, DkmSymbolLoadFlags, DkmCompletionRoutine<DkmTryLoadSymbolsCallback177AsyncResult>)

Wird aufgerufen, um das Laden lokal vorhandener Symbole für DkmModuleInstances zu initiieren, deren Symbole beim Laden des Moduls nicht gefunden wurden.

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

Standorteinschränkung: Dies kann vom Client oder Server aufgerufen werden. Bei der Serverimplementierung handelt es sich um einen Cache, um unnötige Netzwerkaufrufe zu verhindern. Der Client wechselt direkt an die "echte" Implementierung, wodurch auch sichergestellt wird, dass die Wiederholungen frühzeitig zurückgegeben werden.

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

(Geerbt von DkmModuleInstance)
TryResolveToken(DkmStackWalkFrame, Int32, DkmClrType, Int32)

Versucht, ein Token aus dem Bereich dieses Moduls in das definierende Modul aufzulösen.

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

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

Unload()

Markieren Sie das Unload-Objekt als entladen, und benachrichtigen Sie Komponenten, die die Ereignissenkenschnittstelle implementieren. Die Steuerung wird zurückgegeben, sobald alle Komponenten benachrichtigt wurden.

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

(Geerbt von DkmModuleInstance)

Gilt für: