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 wie 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 |
[Optional] Zusätzliche laufzeitspezifische 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 Codebündel (z. B. dll oder exe) dar, das oder einmal in einen oder mehrere Prozesse geladen wurde. Die DkmModule-Klasse ist das zentrale Objekt der Symbol-APIs und ist 1:1 mit der Notation des Geladenen durch den Symbolhandler. Wenn ein Codebündel in drei verschiedene Prozesse (oder denselben Prozess, aber mit drei verschiedenen Basisadressen oder drei verschiedenen App-Domänen) geladen wird, der Symbolhandler jedoch alle als identisch angibt, gibt es nur ein Modulobjekt. (Geerbt von DkmInstructionSymbol) |
| Revision |
Gibt die Revisionsnummer an, die die von diesem Objekt dargestellte Anweisung eingefügt hat. In der Regel ist dies bei nicht dynamischen Dokumenten 0. |
| RuntimeType |
Die Laufzeit-ID identifiziert die Ausführungsumgebung für einen bestimmten Codeabschnitt. Laufzeit-IDs werden vom Dispatcher verwendet, um zu entscheiden, an welchen Monitor verteilt werden soll. Beachten Sie, dass die Reihenfolge der Laufzeit-ID-Guids etwas bedeutend ist, da dies vorschreibt, welche Runtime den ersten Schuss während des Schiedsverfahrens erhält. Wenn man also eine neue Runtime-instance deklarieren möchte, die auf der CLR basiert, sollte die Laufzeit-ID kleiner als DkmRuntimeId.Clr sein. (Geerbt von DkmInstructionSymbol) |
| StartIndex |
Gibt den Anfangszeichenindex dieser Anweisung relativ zum Beginn der Revision an, der diese Anweisung eingefügt hat. |
| StatementLength |
Länge der Anweisung (in Zeichen). |
| TagValue |
DkmInstructionSymbol ist eine abstrakte Basisklasse. Diese Aufzählung gibt an, welche abgeleitete Klasse dieses Objekt instance ist. (Geerbt von DkmInstructionSymbol) |
Methoden
| Bind(DkmModuleInstance) |
Bindet ein Befehlssymbol an ein bestimmtes Modul instance. Ein Befehlssymbol ist mit einem DkmModule und nicht mit einer DkmModuleInstance verbunden, sodass es nicht an einen bestimmten Prozess, eine bestimmte App-Domäne oder eine bestimmte Modulbasisadresse gebunden ist. (Geerbt von DkmInstructionSymbol) |
| Create(DkmModule, Guid, DkmScriptDocument, Int32, Int32, Int32, ReadOnlyCollection<Byte>) |
Create ein neues DkmScriptInstructionSymbol-Objekt instance. |
| GetAlternateSourcePosition(DkmSourcePositionFlags) |
Gibt eine alternative Quelldateiposition (z. B. example.cs, Zeile 12) für dieses Anweisungssymbol zurück. Dies wird derzeit in Quellzuordnungsszenarien verwendet, um den ursprünglichen (nicht zugeordneten) Quellspeicherort zurückzugeben. Diese API wird von der Debugger-Benutzeroberfläche aufgerufen, wenn der primäre Quellspeicherort nicht gefunden werden kann. Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000). Diese API wurde in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetBasicInfo(DkmWorkList, DkmModuleInstance, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetBasicSymbolInfoAsyncResult>) |
Berechnet asynchron grundlegende Symbolinformationen für ein bestimmtes DkmInstructionSymbol. 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 RTM (DkmApiVersion.VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetCompilerId(DkmInspectionSession) |
Gibt die Compiler-ID (LanguageId/VendorId) eines bestimmten Symbols zurück. Wenn der PDB für den Microsoft PDB-Reader von einem Compiler erstellt wurde, der ISymUnmanagedWriter verwendet hat, kann der PDB-Reader die richtige DkmCompilerId aus dem LanguageId/VendorId-Paar ermitteln, das von ISymUnmanagedWriter.DefineDocument übergeben wurde. Wenn der PDB von einem Compiler erstellt wurde, der ISymUnmanagedWriter nicht verwendet hat, kann der PDB-Leser die DkmCompilerId aus den S_COMPILE* PDB-Einträgen abrufen. Damit dies funktioniert, muss der Compiler zuerst den S_COMPILE*-Datensatz für jedes Compiland ausgeben. Der Compiler muss sicherstellen, dass er den Wert der Sprachaufzählung und die Compilerzeichenfolge ordnungsgemäß ausfüllt. Der Compiler sollte sicherstellen, dass die Compilerzeichenfolge ausreichend spezifisch ist, um eine Ausdrucksauswertung auszuwählen. Es wird empfohlen, einen Firmennamen einzufügen. Nach dem Ausgeben des Enum/Name-Paares sollte das Setup für den Ausdrucksauswerter dieses Paar beim Debugger registrieren. Hierzu sollte der Ausdrucksauswerter diesen Registrierungsschlüssel festlegen: %VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% und die VendorId/LanguageId definieren. (Geerbt von DkmInstructionSymbol) |
| GetCompilerId(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>) |
Gibt die Compiler-ID (LanguageId/VendorId) eines bestimmten Symbols zurück. Wenn der PDB für den Microsoft PDB-Reader von einem Compiler erstellt wurde, der ISymUnmanagedWriter verwendet hat, kann der PDB-Reader die richtige DkmCompilerId aus dem LanguageId/VendorId-Paar ermitteln, das von ISymUnmanagedWriter.DefineDocument übergeben wurde. Wenn der PDB von einem Compiler erstellt wurde, der ISymUnmanagedWriter nicht verwendet hat, kann der PDB-Leser die DkmCompilerId aus den S_COMPILE* PDB-Einträgen abrufen. Damit dies funktioniert, muss der Compiler zuerst den S_COMPILE*-Datensatz für jedes Compiland ausgeben. Der Compiler muss sicherstellen, dass er den Wert der Sprachaufzählung und die Compilerzeichenfolge ordnungsgemäß ausfüllt. Der Compiler sollte sicherstellen, dass die Compilerzeichenfolge ausreichend spezifisch ist, um eine Ausdrucksauswertung auszuwählen. Es wird empfohlen, einen Firmennamen einzufügen. Nach dem Ausgeben des Enum/Name-Paares sollte das Setup für den Ausdrucksauswerter dieses Paar beim Debugger registrieren. Hierzu sollte der Ausdrucksauswerter diesen Registrierungsschlüssel festlegen: %VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% und die VendorId/LanguageId definieren. 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 RTM (DkmApiVersion.VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetCurrentStatementRange() |
Diese Methode gibt den IL-Offsetbereich zurück, der den aktuellen IL-Offset enthält, wie in der Anweisungsadresse angegeben. Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). (Geerbt von DkmInstructionSymbol) |
| GetDisassemblyLabel(DkmInspectionSession) |
Geben Sie den Namen des Symbols so zurück, wie es im Disassemblierungsfenster angezeigt werden soll. Für Microsoft C++-Code basiert dies auf dem namen des öffentlichen Symbols. Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000). (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. Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000). 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-Debugmonitor zurück. (Geerbt von DkmInstructionSymbol) |
| GetInlineFramesCount(DkmBasicSymbolInfoRequestFlags) |
Gibt die Anzahl der Inlineframes am angegebenen Befehlssymbol zurück. Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000). Diese API wurde in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetInlineFramesCount(DkmWorkList, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetInlineFramesCountAsyncResult>) |
Gibt die Anzahl der Inlineframes am angegebenen Befehlssymbol zurück. 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 RTM (DkmApiVersion.VS16RTMPreview) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetInlineSourcePosition(DkmStackWalkFrame, Boolean) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols an der angegebenen Inlinerahmennummer zurück. Wenn dieses Befehlssymbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Code nativ zurückgeben). Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000). Diese API wurde in Visual Studio 15 RTM (DkmApiVersion.VS15RTM) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetInlineSourcePosition(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetInlineSourcePositionAsyncResult>) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols an der angegebenen Inlinerahmennummer zurück. Wenn dieses Befehlssymbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Code nativ 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 15 RTM (DkmApiVersion.VS15RTM) eingeführt. (Geerbt von DkmInstructionSymbol) |
| GetNextSteppingAction(DkmScriptInstructionSymbol, Boolean) |
Rufen Sie vom Skriptsymbolanbieter implementiert auf, um dem Skriptdebugmonitor mitzuteilen, was beim Schrittweisen als Nächstes zu tun ist. Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). |
| GetNoSourceRanges() |
Fragt den Symbolanbieter ab, um die Bereiche von Anweisungen zu ermitteln, die keinen Benutzerquellenanweisungen entsprechen und vom Basisdebugmonitor verwendet werden, um beim Schrittweisen immer schrittweise zu durchlaufen. (Geerbt von DkmInstructionSymbol) |
| GetSourcePosition(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols zurück. Wenn dieses Befehlssymbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Code nativ zurückgeben). Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000). (Geerbt von DkmInstructionSymbol) |
| GetSourcePosition(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionAsyncResult>) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols zurück. Wenn dieses Befehlssymbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Code nativ 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). (Geerbt von DkmInstructionSymbol) |
| GetSourcePositionCallback(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols zurück. Wenn dieses Befehlssymbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Code nativ zurückgeben). Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). (Geerbt von DkmInstructionSymbol) |
| GetSourcePositionCallback(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionCallbackAsyncResult>) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols zurück. Wenn dieses Befehlssymbol keiner Quelldatei zugeordnet ist, wird NULL zurückgegeben (S_FALSE Code nativ 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 Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). (Geerbt von DkmInstructionSymbol) |
| GetSteppingRanges(DkmSteppingRangeBoundary, Boolean) |
Fragt den Symbolanbieter ab, um die Anweisungen zu ermitteln, die der Basisdebugmonitor schrittweise durchlaufen soll, um einen Schritt zu implementieren. Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). (Geerbt von DkmInstructionSymbol) |
| GetSteppingRanges(DkmWorkList, DkmSteppingRangeBoundary, Boolean, DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>) |
Fragt den Symbolanbieter ab, um die Anweisungen zu ermitteln, die der Basisdebugmonitor schrittweise durchlaufen soll, um einen Schritt zu implementieren. 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 Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). (Geerbt von DkmInstructionSymbol) |
| GetUserCodeSourcePositionCallback(DkmInspectionSession) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols zurück. Wenn dieses Anweisungssymbol keiner Quelldatei oder nicht im Benutzercode zugeordnet ist, wird NULL zurückgegeben (E_INSTRUCTION_NO_SOURCE Rückgabecode). Standorteinschränkung: Die API muss von einer Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). (Geerbt von DkmInstructionSymbol) |
| GetUserCodeSourcePositionCallback(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetUserCodeSourcePositionCallbackAsyncResult>) |
Gibt die Quelldateiposition (z. B. example.cs, Zeile 12) dieses Befehlssymbols zurück. Wenn dieses Anweisungssymbol keiner Quelldatei oder nicht im Benutzercode zugeordnet ist, wird NULL zurückgegeben (E_INSTRUCTION_NO_SOURCE Rückgabecode). 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 Monitor-Komponente aufgerufen werden (Komponentenebene < 100.000). (Geerbt von DkmInstructionSymbol) |
| HasEmbeddedDocument() |
Testet, ob das angegebene Symbol über ein eingebettetes Dokument verfügt. Eingebettete Dokumente sind, wenn eine Quelldatei (z. B. Standard.cs) in die Symboldatei eingebettet ist (z. B. example.pdb). Standorteinschränkung: Die API muss von einer IDE-Komponente aufgerufen werden (Komponentenebene > 100.000). Diese API wurde in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8) eingeführt. (Geerbt von DkmInstructionSymbol) |
| HasLineInfo() |
Fragt den Symbolanbieter ab, um zu ermitteln, ob zeilenspezifische Informationen vorhanden sind. Wird vom Debugmonitor verwendet, um zu entscheiden, ob der Speicherort als Benutzercode betrachtet werden kann. Standorteinschränkung: Für gewöhnliche Symbole kann von jeder Komponente aufgerufen werden. Für dynamische Symbole kann nur auf der Serverseite aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| HasLineInfo(DkmWorkList, DkmCompletionRoutine<DkmHasLineInfoAsyncResult>) |
Fragt den Symbolanbieter ab, um zu ermitteln, ob zeilenspezifische Informationen vorhanden sind. Wird vom Debugmonitor verwendet, um zu entscheiden, ob der Speicherort als Benutzercode betrachtet werden kann. 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: Für gewöhnliche Symbole kann von jeder Komponente aufgerufen werden. Für dynamische Symbole kann nur auf der Serverseite aufgerufen werden. (Geerbt von DkmInstructionSymbol) |
| IsHiddenCode(DkmWorkList, DkmInspectionSession, DkmInstructionAddress, DkmCompletionRoutine<DkmIsHiddenCodeAsyncResult>) |
Gibt zurück, wenn sich dieses Anweisungssymbol im ausgeblendeten Code befindet. Für instance markiert die Zeilennummer im verwalteten Code 0xfeefee eine Quellzeile als ausgeblendet. 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 DkmInstructionSymbol) |