DkmScriptInstructionSymbol Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
DkmScriptInstructionSymbol viene usato per rappresentare un'istruzione eseguibile in un ambiente di runtime basato su script, ad esempio il motore Microsoft JavaScript.
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
- Ereditarietà
- Attributi
Proprietà
| AdditionalData |
[Facoltativo] Dati specifici del runtime aggiuntivi associati a un indirizzo. Questi dati non verranno usati quando si confrontano gli indirizzi. |
| Document |
Documento contenente questa istruzione. |
| Module |
La classe DkmModule rappresenta un bundle di codice (ad esempio dll o exe) che è o una volta caricato in uno o più processi. La classe DkmModule è l'oggetto centrale delle API del simbolo ed è 1:1 con la notazione del gestore simboli di ciò che viene caricato. Se un bundle di codice viene caricato in tre processi diversi (o lo stesso processo, ma con tre indirizzi di base diversi o tre domini app diversi), ma il gestore dei simboli pensa a tutti questi processi come identici, sarà presente un solo oggetto modulo. (Ereditato da DkmInstructionSymbol) |
| Revision |
Indica il numero di revisione che ha inserito l'istruzione rappresentata da questo oggetto. In genere, questo sarà zero per i documenti non dinamici. |
| RuntimeType |
L'ID runtime identifica l'ambiente di esecuzione per un determinato pezzo di codice. Gli ID di runtime vengono usati dal dispatcher per decidere a quale monitoraggio inviare. Si noti che l'ordinamento del guid ID di runtime è leggermente significativo perché questo determina il runtime che ottiene il primo colpo durante l'arbitrato. Pertanto, se si vuole dichiarare una nuova istanza di runtime basata su CLR, l'ID runtime deve essere minore di DkmRuntimeId.Clr. (Ereditato da DkmInstructionSymbol) |
| StartIndex |
Indica l'indice di carattere iniziale di questa istruzione, rispetto all'inizio della revisione che ha inserito questa istruzione. |
| StatementLength |
Lunghezza dell'istruzione (in caratteri). |
| TagValue |
DkmInstructionSymbol è una classe base astratta. Questa enumerazione indica la classe derivata di questo oggetto è un'istanza di . (Ereditato da DkmInstructionSymbol) |
Metodi
| Bind(DkmModuleInstance) |
Associa un simbolo di istruzione a un'istanza del modulo specifica. Un simbolo di istruzione è connesso a un DkmModule anziché a DkmModuleInstance, quindi non è associato a un determinato processo, dominio dell'app o indirizzo di base del modulo. (Ereditato da DkmInstructionSymbol) |
| Create(DkmModule, Guid, DkmScriptDocument, Int32, Int32, Int32, ReadOnlyCollection<Byte>) |
Create una nuova istanza dell'oggetto DkmScriptInstructionSymbol. |
| GetAlternateSourcePosition(DkmSourcePositionFlags) |
Restituisce una posizione alternativa del file di origine (ad esempio: example.cs, riga 12) per questo simbolo di istruzione. Questa operazione viene attualmente usata negli scenari di mappa di origine per restituire il percorso di origine originale (non mappato). Questa API verrà chiamata dall'interfaccia utente del debugger nei casi in cui non è possibile trovare la posizione di origine primaria. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3). (Ereditato da DkmInstructionSymbol) |
| GetBasicInfo(DkmWorkList, DkmModuleInstance, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetBasicSymbolInfoAsyncResult>) |
Calcola in modo asincrono le informazioni sui simboli di base per un determinato DkmInstructionSymbol. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Ereditato da DkmInstructionSymbol) |
| GetCompilerId(DkmInspectionSession) |
Restituisce l'ID del compilatore (LanguageId/VendorId) di un determinato simbolo. Per il lettore microsoft PDB, se il PDB è stato creato da un compilatore che usa ISymUnmanagedWriter, il lettore PDB sarà in grado di determinare il DkmCompilerId corretto dalla coppia LanguageId/VendorId passata da ISymUnmanagedWriter.DefineDocument. Se il PDB è stato creato da un compilatore che non usa ISymUnmanagedWriter, il lettore PDB può essere in grado di ottenere il DkmCompilerId dai record PDB S_COMPILE* . Per il funzionamento, il compilatore deve prima generare il record S_COMPILE* per ogni compiland. Il compilatore deve assicurarsi di compilare correttamente il valore dell'enumerazione del linguaggio e la stringa del compilatore. Il compilatore deve assicurarsi che la stringa del compilatore sia sufficientemente specifica da usare per la selezione di un analizzatore di espressioni; è consigliabile includere un nome aziendale. Dopo aver generato la coppia Enum/Name, la configurazione dell'analizzatore di espressioni deve quindi registrare questa coppia con il debugger. A tale scopo, l'analizzatore di espressioni deve impostare questa chiave del Registro di sistema: %VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% e definire VendorId/LanguageId. (Ereditato da DkmInstructionSymbol) |
| GetCompilerId(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>) |
Restituisce l'ID del compilatore (LanguageId/VendorId) di un determinato simbolo. Per il lettore microsoft PDB, se il PDB è stato creato da un compilatore che usa ISymUnmanagedWriter, il lettore PDB sarà in grado di determinare il DkmCompilerId corretto dalla coppia LanguageId/VendorId passata da ISymUnmanagedWriter.DefineDocument. Se il PDB è stato creato da un compilatore che non usa ISymUnmanagedWriter, il lettore PDB può essere in grado di ottenere il DkmCompilerId dai record PDB S_COMPILE* . Per il funzionamento, il compilatore deve prima generare il record S_COMPILE* per ogni compiland. Il compilatore deve assicurarsi di compilare correttamente il valore dell'enumerazione del linguaggio e la stringa del compilatore. Il compilatore deve assicurarsi che la stringa del compilatore sia sufficientemente specifica da usare per la selezione di un analizzatore di espressioni; è consigliabile includere un nome aziendale. Dopo aver generato la coppia Enum/Name, la configurazione dell'analizzatore di espressioni deve quindi registrare questa coppia con il debugger. A tale scopo, l'analizzatore di espressioni deve impostare questa chiave del Registro di sistema: %VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% e definire VendorId/LanguageId. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Ereditato da DkmInstructionSymbol) |
| GetCurrentStatementRange() |
Questo metodo restituisce l'intervallo di offset IL che contiene l'offset IL corrente come specificato nell'indirizzo di istruzione. Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetDisassemblyLabel(DkmInspectionSession) |
Restituisce il nome del simbolo come dovrebbe essere visualizzato nella finestra di disassembly. Per il codice Microsoft C++ si basa sul nome del simbolo pubblico. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetEmbeddedDocument() |
Restituisce il documento incorporato contenente questo simbolo. Restituisce S_FALSE se il documento incorporato non esiste. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 15 Update 5 (DkmApiVersion.VS15Update5). (Ereditato da DkmInstructionSymbol) |
| GetGPUInstructionMetadataCallback(DkmInstructionAddress, DkmInstructionSymbol) |
Questo metodo restituisce informazioni sull'indirizzo per il monitoraggio di debug della GPU. (Ereditato da DkmInstructionSymbol) |
| GetInlineFramesCount(DkmBasicSymbolInfoRequestFlags) |
Restituisce il numero di fotogrammi inline nel simbolo di istruzione specificato. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Ereditato da DkmInstructionSymbol) |
| GetInlineFramesCount(DkmWorkList, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetInlineFramesCountAsyncResult>) |
Restituisce il numero di fotogrammi inline nel simbolo di istruzione specificato. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Ereditato da DkmInstructionSymbol) |
| GetInlineSourcePosition(DkmStackWalkFrame, Boolean) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione al numero di fotogramma inline specificato. Se questo simbolo di istruzione non è associato a un file di origine, viene restituito null (S_FALSE codice restituito in nativo). Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM). (Ereditato da DkmInstructionSymbol) |
| GetInlineSourcePosition(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetInlineSourcePositionAsyncResult>) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione al numero di fotogramma inline specificato. Se questo simbolo di istruzione non è associato a un file di origine, viene restituito null (S_FALSE codice restituito in nativo). Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 15 RTM (DkmApiVersion.VS15RTM). (Ereditato da DkmInstructionSymbol) |
| GetNextSteppingAction(DkmScriptInstructionSymbol, Boolean) |
Eseguire il callback implementato dal provider di simboli di script per indicare al monitoraggio del debug dello script le operazioni da eseguire successivamente durante l'esecuzione. Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). |
| GetNoSourceRanges() |
Esegue una query sul provider di simboli per determinare gli intervalli di istruzioni che non corrispondono ad alcuna istruzione di origine utente e vengono usati dal monitoraggio di debug di base per eseguire sempre il passaggio durante l'esecuzione dell'istruzione. (Ereditato da DkmInstructionSymbol) |
| GetSourcePosition(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione. Se questo simbolo di istruzione non è associato a un file di origine, viene restituito null (S_FALSE codice restituito in nativo). Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetSourcePosition(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionAsyncResult>) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione. Se questo simbolo di istruzione non è associato a un file di origine, viene restituito null (S_FALSE codice restituito in nativo). Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetSourcePositionCallback(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione. Se questo simbolo di istruzione non è associato a un file di origine, viene restituito null (S_FALSE codice restituito in nativo). Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetSourcePositionCallback(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionCallbackAsyncResult>) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione. Se questo simbolo di istruzione non è associato a un file di origine, viene restituito null (S_FALSE codice restituito in nativo). Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetSteppingRanges(DkmSteppingRangeBoundary, Boolean) |
Esegue una query sul provider di simboli per determinare gli intervalli di istruzioni che il monitoraggio di debug di base deve eseguire per implementare un passaggio. Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetSteppingRanges(DkmWorkList, DkmSteppingRangeBoundary, Boolean, DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>) |
Esegue una query sul provider di simboli per determinare gli intervalli di istruzioni che il monitoraggio di debug di base deve eseguire per implementare un passaggio. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetUserCodeSourcePositionCallback(DkmInspectionSession) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione. Se questo simbolo di istruzione non è associato a un file di origine o meno nel codice utente, viene restituito null (E_INSTRUCTION_NO_SOURCE codice restituito). Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| GetUserCodeSourcePositionCallback(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetUserCodeSourcePositionCallbackAsyncResult>) |
Restituisce la posizione del file di origine (ad esempio: example.cs, riga 12) di questo simbolo di istruzione. Se questo simbolo di istruzione non è associato a un file di origine o meno nel codice utente, viene restituito null (E_INSTRUCTION_NO_SOURCE codice restituito). Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000). (Ereditato da DkmInstructionSymbol) |
| HasEmbeddedDocument() |
Verifica se il simbolo specificato ha un documento incorporato. I documenti incorporati sono quando un file di origine (ad esempio: main.cs) viene incorporato all'interno del file di simboli (ad esempio.pdb). Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). Questa API è stata introdotta in Visual Studio 15 Update 8 (DkmApiVersion.VS15Update8). (Ereditato da DkmInstructionSymbol) |
| HasLineInfo() |
Esegue una query sul provider di simboli per determinare se sono presenti informazioni sulla riga. Usato dal monitoraggio di debug per decidere se la posizione può essere considerata codice utente. Vincolo location: per i simboli ordinari, può essere chiamato da qualsiasi componente. Per i simboli dinamici, è possibile chiamare solo sul lato server. (Ereditato da DkmInstructionSymbol) |
| HasLineInfo(DkmWorkList, DkmCompletionRoutine<DkmHasLineInfoAsyncResult>) |
Esegue una query sul provider di simboli per determinare se sono presenti informazioni sulla riga. Usato dal monitoraggio di debug per decidere se la posizione può essere considerata codice utente. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo location: per i simboli ordinari, può essere chiamato da qualsiasi componente. Per i simboli dinamici, è possibile chiamare solo sul lato server. (Ereditato da DkmInstructionSymbol) |
| IsHiddenCode(DkmWorkList, DkmInspectionSession, DkmInstructionAddress, DkmCompletionRoutine<DkmIsHiddenCodeAsyncResult>) |
Restituisce se questo simbolo di istruzione è in codice nascosto. Ad esempio, nel codice gestito, il numero di riga 0xfeefee contrassegna una riga di origine come nascosta. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Vincolo percorso: l'API deve essere chiamata da un componente IDE (livello > di componente 100.000). (Ereditato da DkmInstructionSymbol) |