DkmScriptInstructionSymbol Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dkmscriptinstructionsymbol wird verwendet, um eine ausführbare Anweisung in einer skriptbasierten Laufzeitumgebung (z. b. der Microsoft JavaScript-Engine) darzustellen.
public ref class DkmScriptInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmScriptInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[Windows::Foundation::Metadata::WebHostHidden]
class DkmScriptInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[System.Runtime.InteropServices.Guid("aebaa0af-6437-2ecf-aaf1-86c58eba9447")]
public class DkmScriptInstructionSymbol : Microsoft.VisualStudio.Debugger.Symbols.DkmInstructionSymbol
[<System.Runtime.InteropServices.Guid("aebaa0af-6437-2ecf-aaf1-86c58eba9447")>]
type DkmScriptInstructionSymbol = class
inherit DkmInstructionSymbol
Public Class DkmScriptInstructionSymbol
Inherits DkmInstructionSymbol
- Vererbung
- Attribute
Eigenschaften
| AdditionalData |
Optionale Zusätzliche Lauf zeitspezifische Daten, die einer Adresse zugeordnet sind. Diese Daten werden beim Vergleichen von Adressen nicht verwendet. |
| Document |
Dokument, das diese Anweisung enthält. |
| Module |
Die dkmmodule-Klasse stellt ein Code Bündel (z.: dll oder exe) dar, das oder einmal in einen oder mehrere Prozesse geladen wurde. Die dkmmodule-Klasse ist das zentrale Objekt für die Symbol-APIs und ist 1:1 mit der Notation des Symbol Handlers, was geladen wird. Wenn ein Code in drei unterschiedliche Prozesse geladen wird (oder in demselben Prozess, aber mit drei unterschiedlichen Basisadressen oder drei verschiedenen Anwendungs Domänen), der Symbol Handler jedoch davon ausgeht, dass er als identisch eingestuft wird, gibt es nur ein Modul Objekt. (Geerbt von DkmInstructionSymbol) |
| Revision |
Gibt die Revisionsnummer an, die die von diesem-Objekt dargestellte-Anweisung eingefügt hat. In der Regel ist dies für nicht dynamische Dokumente gleich 0 (null). |
| RuntimeType |
Die Lauf Zeit-ID identifiziert die Ausführungsumgebung für einen bestimmten Code Abschnitt. Lauf Zeit-IDs werden vom Verteiler verwendet, um zu entscheiden, an welchen Monitor die Verteilung erfolgt. Beachten Sie, dass die Reihenfolge der Lauf Zeit-ID-GUIDs etwas wichtig ist, da dies festlegt, welche Laufzeit den ersten Schuss während der Vermittlung erhält. Wenn also eine neue Lauf Zeit Instanz deklariert werden soll, die auf der CLR basiert, sollte die Lauf Zeit-ID kleiner als dkmruntimeid. CLR sein. (Geerbt von DkmInstructionSymbol) |
| StartIndex |
Gibt den Anfangs Zeichen Index dieser Anweisung relativ zum Anfang der Revision an, die diese Anweisung eingefügt hat. |
| StatementLength |
Länge der Anweisung (in Zeichen). |
| TagValue |
Dkminstructionsymbol ist eine abstrakte Basisklasse. Diese Enumeration gibt an, welche abgeleitete Klasse dieses Objekt eine Instanz von ist. (Geerbt von DkmInstructionSymbol) |
Methoden
| Bind(DkmModuleInstance) |
Bindet ein Anweisungs Symbol an eine bestimmte Modul Instanz. Ein Anweisungs Symbol ist mit einem dkmmodule und nicht mit einer dkmmoduleinstance verbunden, sodass es nicht an einen bestimmten Prozess, keine bestimmte App-Domäne oder Modulbasis Adresse gebunden ist. (Geerbt von DkmInstructionSymbol) |
| Create(DkmModule, Guid, DkmScriptDocument, Int32, Int32, Int32, ReadOnlyCollection<Byte>) |
Erstellen Sie eine neue dkmscriptinstructionsymbol-Objektinstanz. |
| GetAlternateSourcePosition(DkmSourcePositionFlags) |
Gibt für dieses Anweisungs Symbol eine Alternative Quelldatei Position (z. example.cs., Zeile 12) zurück. Dies wird derzeit in Quell Zuordnungs Szenarien verwendet, um den ursprünglichen (nicht zugeordneten) Quell Speicherort zurückzugeben. Diese API wird von der Debugger-Benutzeroberfläche aufgerufen, wenn der primäre Quell Speicherort nicht gefunden wird. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 12 Update 3 (dkmapiversion. VS12Update3) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetBasicInfo(DkmWorkList, DkmModuleInstance, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetBasicSymbolInfoAsyncResult>) |
Berechnet grundlegende Symbol Informationen für ein bestimmtes dkminstructionsymbol asynchron. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 16 RTM (dkmapiversion. VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetCompilerId(DkmInspectionSession) |
Gibt die compilerid (LanguageID/VendorID) eines angegebenen Symbols zurück. Wenn die PDB-Datei für den Microsoft PDB-Reader von einem Compiler erstellt wurde, der ISymUnmanagedWriter verwendet, kann der PDB-Reader die korrekte dkmcompilerid aus dem Paar LanguageID/VendorID ermitteln, das von ISymUnmanagedWriter. DefineDocument übergeben wird. Wenn die PDB von einem Compiler erstellt wurde, der ISymUnmanagedWriter nicht verwendet hat, kann der PDB-Reader die dkmcompilerid möglicherweise aus den S_COMPILE * PDB-Datensätzen abrufen. Damit dies funktioniert, muss der Compiler zuerst den S_COMPILE *-Datensatz für jede kompiand-Ausgabe ausgeben. Der Compiler muss sicher sein, dass der sprach Enumerationswert und die compilerzeichenfolge ordnungsgemäß ausgefüllt werden. Der Compiler sollte sicherstellen, dass die compilerzeichenfolge für die Auswahl einer Ausdrucks Auswertung ausreichend spezifisch ist. Es wird empfohlen, einen Firmennamen einzuschließen. Nachdem das enum/Name-Paar ausgegeben wurde, sollte das Setup für die Ausdrucks Auswertung dieses Paar beim Debugger registrieren. Zu diesem Zweck sollte die Ausdrucks Auswertung diesen Registrierungsschlüssel festlegen:%vsregistryroot%\debugger\codeview Compilers % codeviewlanguagecode%:% compilername% und define VendorID/LanguageID. (Geerbt von DkmInstructionSymbol) |
| GetCompilerId(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>) |
Gibt die compilerid (LanguageID/VendorID) eines angegebenen Symbols zurück. Wenn die PDB-Datei für den Microsoft PDB-Reader von einem Compiler erstellt wurde, der ISymUnmanagedWriter verwendet, kann der PDB-Reader die korrekte dkmcompilerid aus dem Paar LanguageID/VendorID ermitteln, das von ISymUnmanagedWriter. DefineDocument übergeben wird. Wenn die PDB von einem Compiler erstellt wurde, der ISymUnmanagedWriter nicht verwendet hat, kann der PDB-Reader die dkmcompilerid möglicherweise aus den S_COMPILE * PDB-Datensätzen abrufen. Damit dies funktioniert, muss der Compiler zuerst den S_COMPILE *-Datensatz für jede kompiand-Ausgabe ausgeben. Der Compiler muss sicher sein, dass der sprach Enumerationswert und die compilerzeichenfolge ordnungsgemäß ausgefüllt werden. Der Compiler sollte sicherstellen, dass die compilerzeichenfolge für die Auswahl einer Ausdrucks Auswertung ausreichend spezifisch ist. Es wird empfohlen, einen Firmennamen einzuschließen. Nachdem das enum/Name-Paar ausgegeben wurde, sollte das Setup für die Ausdrucks Auswertung dieses Paar beim Debugger registrieren. Zu diesem Zweck sollte die Ausdrucks Auswertung diesen Registrierungsschlüssel festlegen:%vsregistryroot%\debugger\codeview Compilers % codeviewlanguagecode%:% compilername% und define VendorID/LanguageID. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 16 RTM (dkmapiversion. VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetCurrentStatementRange() |
Diese Methode gibt den IL-Offset Bereich zurück, der den aktuellen IL-Offset enthält, wie in der Anweisungs Adresse angegeben. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetDisassemblyLabel(DkmInspectionSession) |
Gibt den Namen des Symbols zurück, wie er im Disassemblyfenster angezeigt werden soll. Bei Microsoft C++ Code basiert dies auf dem öffentlichen Symbolnamen. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetEmbeddedDocument() |
Gibt das eingebettete Dokument zurück, das dieses Symbol enthält. Gibt S_FALSE zurück, wenn das eingebettete Dokument nicht vorhanden ist. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 15 Update 5 (dkmapiversion. VS15Update5) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetGPUInstructionMetadataCallback(DkmInstructionAddress, DkmInstructionSymbol) |
Diese Methode gibt Adressinformationen an den GPU-Debug-Monitor zurück. (Geerbt von DkmInstructionSymbol) |
| GetInlineFramesCount(DkmBasicSymbolInfoRequestFlags) |
Gibt die Anzahl der Inline Rahmen mit dem angegebenen Anweisungs Symbol zurück. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 16 RTM (dkmapiversion. VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetInlineFramesCount(DkmWorkList, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetInlineFramesCountAsyncResult>) |
Gibt die Anzahl der Inline Rahmen mit dem angegebenen Anweisungs Symbol zurück. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 16 RTM (dkmapiversion. VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetInlineSourcePosition(DkmStackWalkFrame, Boolean) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols bei der angegebenen Inline Rahmennummer zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Rückgabecode in nativer). Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 15 RTM (dkmapiversion. VS15RTM) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetInlineSourcePosition(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetInlineSourcePositionAsyncResult>) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols bei der angegebenen Inline Rahmennummer zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Rückgabecode in nativer). Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 15 RTM (dkmapiversion. VS15RTM) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetNextSteppingAction(DkmScriptInstructionSymbol, Boolean) |
Rückrufe, die vom Skript Symbol Anbieter implementiert werden, um dem Skript-Debug-Monitor mitzuteilen, was als nächstes bei der schrittweisen Erstellung geschehen Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. |
| GetNoSourceRanges() |
Fragt den Symbol Anbieter ab, um die Bereiche von Anweisungen zu ermitteln, die keiner Benutzer Quell Anweisung entsprechen und vom Basis-Debug-Monitor verwendet werden, um während des Schritts immer schrittweise zu durchlaufen. (Geerbt von DkmInstructionSymbol) |
| GetSourcePosition(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Rückgabecode in nativer). Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetSourcePosition(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionAsyncResult>) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Rückgabecode in nativer). Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetSourcePositionCallback(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Rückgabecode in nativer). Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetSourcePositionCallback(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionCallbackAsyncResult>) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Rückgabecode in nativer). Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetSteppingRanges(DkmSteppingRangeBoundary, Boolean) |
Fragt den Symbol Anbieter ab, um die Reihen Folgen der Anweisungen zu bestimmen, die der Basis-Debug-Monitor durchlaufen soll, um einen Schritt zu implementieren. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetUserCodeSourcePositionCallback(DkmInspectionSession) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei oder nicht im Benutzercode zugeordnet ist, wird NULL zurückgegeben (E_INSTRUCTION_NO_SOURCE Rückgabecode). Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| GetUserCodeSourcePositionCallback(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetUserCodeSourcePositionCallbackAsyncResult>) |
Gibt die Position der Quelldatei (z. example.cs, Zeile 12) dieses Anweisungs Symbols zurück. Wenn dieses Anweisungs Symbol keiner Quelldatei oder nicht im Benutzercode zugeordnet ist, wird NULL zurückgegeben (E_INSTRUCTION_NO_SOURCE Rückgabecode). Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| HasEmbeddedDocument() |
Testet, ob das angegebene Symbol über ein eingebettetes Dokument verfügt. Eingebettete Dokumente sind, wenn eine Quelldatei (z. b. Main.cs) in die Symbol Datei eingebettet ist (z. b. Beispiel. pdb). Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. Diese API wurde in Visual Studio 15 Update 8 (dkmapiversion. VS15Update8) eingeführt. (Geerbt von DkmInstructionSymbol) |
| HasLineInfo() |
Fragt den Symbol Anbieter ab, um zu bestimmen, ob Zeilen Informationen vorliegen. Wird vom Debugmonitor verwendet, um zu entscheiden, ob Location als Benutzercode angesehen werden kann. Location-Einschränkung: für normale Symbole kann von jeder Komponente aufgerufen werden. Bei dynamischen Symbolen kann nur auf Serverseite aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| HasLineInfo(DkmWorkList, DkmCompletionRoutine<DkmHasLineInfoAsyncResult>) |
Fragt den Symbol Anbieter ab, um zu bestimmen, ob Zeilen Informationen vorliegen. Wird vom Debugmonitor verwendet, um zu entscheiden, ob Location als Benutzercode angesehen werden kann. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: für normale Symbole kann von jeder Komponente aufgerufen werden. Bei dynamischen Symbolen kann nur auf Serverseite aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| IsHiddenCode(DkmWorkList, DkmInspectionSession, DkmInstructionAddress, DkmCompletionRoutine<DkmIsHiddenCodeAsyncResult>) |
Gibt zurück, wenn dieses Anweisungs Symbol in ausgeblendetem Code ist Beispielsweise markiert die Zeilennummer 0xfeefee in verwaltetem Code eine Quellzeile als ausgeblendet. Diese Methode fügt ein neues Arbeits Element an die angegebene Arbeitsliste an und gibt zurück, nachdem das Arbeits Element angefügt wurde. Die tatsächliche Verarbeitung der Arbeitsaufgabe erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Abschluss Routine abgeschlossen wurde. Location-Einschränkung: die API muss von einer IDE-Komponente (Komponentenebene > 100.000) aufgerufen werden. (Geerbt von DkmInstructionSymbol) |