DkmNativeInstructionSymbol Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
DkmNativeInstructionSymbol representa uma instrução nativa dentro de um módulo do processo de destino. DkmNativeInstructionSymbol são 1:1 com as instruções nativas subjacentes. Portanto, se houver duas instanciações de modelo de um método (por exemplo: MyMethod<CString> e MyMethod<int>) se o vinculador mesclar as duas instanciações em uma única função por meio da dobragem COMDAT, os métodos serão idênticos. Se o vinculador não conseguir mesclar as duas instanciações, ambas as funções no nível do usuário aparecerão como um DkmNativeInstructionSymbol.
public ref class DkmNativeInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmNativeInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[Windows::Foundation::Metadata::WebHostHidden]
class DkmNativeInstructionSymbol : Microsoft::VisualStudio::Debugger::Symbols::DkmInstructionSymbol
[System.Runtime.InteropServices.Guid("0eb834ca-c591-449c-66ad-e016093977d2")]
public class DkmNativeInstructionSymbol : Microsoft.VisualStudio.Debugger.Symbols.DkmInstructionSymbol
[<System.Runtime.InteropServices.Guid("0eb834ca-c591-449c-66ad-e016093977d2")>]
type DkmNativeInstructionSymbol = class
inherit DkmInstructionSymbol
Public Class DkmNativeInstructionSymbol
Inherits DkmInstructionSymbol
- Herança
- Atributos
Propriedades
Module |
A classe DkmModule representa um pacote de código (ex: dll ou exe) que é ou uma vez foi carregado em um ou mais processos. A classe DkmModule é o objeto central para as APIs de símbolo e é 1:1 com a notação do manipulador de símbolos do que é carregado. Se um pacote de código for carregado em três processos diferentes (ou no mesmo processo, mas com três endereços base diferentes ou três domínios de aplicativo diferentes), mas o manipulador de símbolos considerar que todos eles são idênticos, haverá apenas um objeto de módulo. (Herdado de DkmInstructionSymbol) |
RuntimeType |
A ID do runtime identifica o ambiente de execução de uma determinada parte do código. As IDs de runtime são usadas pelo dispatcher para decidir para qual monitor expedir. Observe que a ordenação dos Guids de ID de runtime é um pouco significativa, pois isso determina qual runtime recebe a primeira chance durante a arbitragem. Portanto, se quiser declarar uma nova instância de runtime criada no CLR, a ID do runtime deverá ser menor que DkmRuntimeId.Clr. (Herdado de DkmInstructionSymbol) |
RVA |
A RVA do InstructionPointer no Módulo. |
TagValue |
DkmInstructionSymbol é uma classe base abstrata. Essa enumeração indica de qual classe derivada esse objeto é uma instância do . (Herdado de DkmInstructionSymbol) |
Métodos
Bind(DkmModuleInstance) |
Associa um símbolo de instrução a uma instância de módulo específica. Um símbolo de instrução é conectado a um DkmModule em vez de um DkmModuleInstance, portanto, ele não está associado a um determinado processo, domínio do aplicativo ou endereço base do módulo. (Herdado de DkmInstructionSymbol) |
Create(DkmModule, UInt32) |
Create uma nova instância de objeto DkmNativeInstructionSymbol. |
GetAlternateSourcePosition(DkmSourcePositionFlags) |
Retorna uma posição alternativa do arquivo de origem (por exemplo: example.cs, linha 12) para este símbolo de instrução. Atualmente, isso é usado em cenários de mapa de origem para retornar o local de origem original (não mapeado). Essa API será chamada pela interface do usuário do depurador nos casos em que o local de origem primário não puder ser encontrado. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 12 Atualização 3 (DkmApiVersion.VS12Update3). (Herdado de DkmInstructionSymbol) |
GetBasicInfo(DkmWorkList, DkmModuleInstance, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetBasicSymbolInfoAsyncResult>) |
Calcula de forma assíncrona informações básicas de símbolo para um determinado DkmInstructionSymbol. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Herdado de DkmInstructionSymbol) |
GetCompilerId(DkmInspectionSession) |
Retorna a ID do compilador (LanguageId/VendorId) de um determinado símbolo. Para o leitor do Microsoft PDB, se o PDB tiver sido criado por um compilador que usou ISymUnmanagedWriter, o leitor do PDB poderá determinar o DkmCompilerId correto do par LanguageId/VendorId passado de ISymUnmanagedWriter.DefineDocument. Se o PDB tiver sido criado por um compilador que não usou ISymUnmanagedWriter, o leitor do PDB poderá obter o DkmCompilerId dos registros PDB S_COMPILE*. Para que isso funcione, o compilador deve primeiro emitir o registro S_COMPILE* para cada compilador. O compilador precisa ter certeza de preencher corretamente o valor de enumeração de linguagem e a cadeia de caracteres do compilador. O compilador deve garantir que a cadeia de caracteres do compilador seja suficientemente específica para ser usada para selecionar um avaliador de expressão; É recomendável incluir um nome de empresa. Depois de emitir o par Enum/Name, a configuração do avaliador de expressão deve registrar esse par com o depurador. Para fazer isso, o avaliador de expressão deve definir essa chave do Registro: %VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% e definir o VendorId/LanguageId. (Herdado de DkmInstructionSymbol) |
GetCompilerId(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetCompilerIdAsyncResult>) |
Retorna a ID do compilador (LanguageId/VendorId) de um determinado símbolo. Para o leitor do Microsoft PDB, se o PDB tiver sido criado por um compilador que usou ISymUnmanagedWriter, o leitor do PDB poderá determinar o DkmCompilerId correto do par LanguageId/VendorId passado de ISymUnmanagedWriter.DefineDocument. Se o PDB tiver sido criado por um compilador que não usou ISymUnmanagedWriter, o leitor do PDB poderá obter o DkmCompilerId dos registros PDB S_COMPILE*. Para que isso funcione, o compilador deve primeiro emitir o registro S_COMPILE* para cada compilador. O compilador precisa ter certeza de preencher corretamente o valor de enumeração de linguagem e a cadeia de caracteres do compilador. O compilador deve garantir que a cadeia de caracteres do compilador seja suficientemente específica para ser usada para selecionar um avaliador de expressão; É recomendável incluir um nome de empresa. Depois de emitir o par Enum/Name, a configuração do avaliador de expressão deve registrar esse par com o depurador. Para fazer isso, o avaliador de expressão deve definir essa chave do Registro: %VSRegistryRoot%\Debugger\CodeView Compilers%CodeViewLanguageCode%:%CompilerName% e definir o VendorId/LanguageId. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Herdado de DkmInstructionSymbol) |
GetCurrentStatementRange() |
Esse método retorna o intervalo de deslocamento il que contém o deslocamento il atual, conforme especificado no endereço de instrução. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetDisassemblyLabel(DkmInspectionSession) |
Retorne o nome do símbolo, pois ele deve aparecer na janela de desmontagem. Para o código do Microsoft C++, isso se baseia no nome do símbolo público. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetEmbeddedDocument() |
Retorna o documento inserido que contém esse símbolo. Retorna S_FALSE se o documento inserido não existir. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 15 Atualização 5 (DkmApiVersion.VS15Update5). (Herdado de DkmInstructionSymbol) |
GetGPUInstructionMetadataCallback(DkmInstructionAddress, DkmInstructionSymbol) |
Esse método retorna informações de endereço para o monitor de depuração de GPU. (Herdado de DkmInstructionSymbol) |
GetInlineFramesCount(DkmBasicSymbolInfoRequestFlags) |
Retorna o número de quadros embutidos no símbolo de instrução fornecido. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Herdado de DkmInstructionSymbol) |
GetInlineFramesCount(DkmWorkList, DkmBasicSymbolInfoRequestFlags, DkmCompletionRoutine<DkmGetInlineFramesCountAsyncResult>) |
Retorna o número de quadros embutidos no símbolo de instrução fornecido. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview). (Herdado de DkmInstructionSymbol) |
GetInlineSourcePosition(DkmStackWalkFrame, Boolean) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) desse símbolo de instrução no número de quadro embutido especificado. Se esse símbolo de instrução não estiver associado a um arquivo de origem, será retornado nulo (S_FALSE código de retorno nativamente). Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 15 RTM (DkmApiVersion.VS15RTM). (Herdado de DkmInstructionSymbol) |
GetInlineSourcePosition(DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetInlineSourcePositionAsyncResult>) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) desse símbolo de instrução no número de quadro embutido especificado. Se esse símbolo de instrução não estiver associado a um arquivo de origem, será retornado nulo (S_FALSE código de retorno nativamente). Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 15 RTM (DkmApiVersion.VS15RTM). (Herdado de DkmInstructionSymbol) |
GetNativeInstructionMetadataCallback(DkmInstructionAddress) |
Retorna informações de endereço para o monitor de depuração nativo. |
GetNoSourceRanges() |
Consulta o provedor de símbolos para determinar os intervalos de instruções que não correspondem a nenhuma instrução de origem do usuário e são usados pelo monitor de depuração base para sempre percorrer durante a etapa. (Herdado de DkmInstructionSymbol) |
GetSourcePosition(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) deste símbolo de instrução. Se esse símbolo de instrução não estiver associado a um arquivo de origem, será retornado nulo (S_FALSE código de retorno nativamente). Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetSourcePosition(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionAsyncResult>) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) deste símbolo de instrução. Se esse símbolo de instrução não estiver associado a um arquivo de origem, será retornado nulo (S_FALSE código de retorno nativamente). Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetSourcePositionCallback(DkmSourcePositionFlags, DkmInspectionSession, Boolean) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) deste símbolo de instrução. Se esse símbolo de instrução não estiver associado a um arquivo de origem, será retornado nulo (S_FALSE código de retorno nativamente). Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetSourcePositionCallback(DkmWorkList, DkmSourcePositionFlags, DkmInspectionSession, DkmCompletionRoutine<DkmGetSourcePositionCallbackAsyncResult>) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) deste símbolo de instrução. Se esse símbolo de instrução não estiver associado a um arquivo de origem, será retornado nulo (S_FALSE código de retorno nativamente). Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetSteppingNativeInstructionMetadata(DkmModuleInstance, DkmInstructionAddress) |
Chamado pelo DM nativo para buscar dados sobre uma instrução que é usada para decidir como essa instrução deve ser intensificada. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
GetSteppingRanges(DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean) |
Consulta o provedor de símbolos para determinar os intervalos de instruções que o monitor de depuração base deve percorrer para implementar uma etapa. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
GetSteppingRanges(DkmSteppingRangeBoundary, Boolean) |
Consulta o provedor de símbolos para determinar os intervalos de instruções que o monitor de depuração base deve percorrer para implementar uma etapa. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetSteppingRanges(DkmWorkList, DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean, DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>) |
Consulta o provedor de símbolos para determinar os intervalos de instruções que o monitor de depuração base deve percorrer para implementar uma etapa. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM). |
GetSteppingRanges(DkmWorkList, DkmSteppingRangeBoundary, Boolean, DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>) |
Consulta o provedor de símbolos para determinar os intervalos de instruções que o monitor de depuração base deve percorrer para implementar uma etapa. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetUserCodeSourcePositionCallback(DkmInspectionSession) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) deste símbolo de instrução. Se esse símbolo de instrução não estiver associado a um arquivo de origem ou não estiver no código do usuário, será retornado nulo (E_INSTRUCTION_NO_SOURCE código de retorno). Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). (Herdado de DkmInstructionSymbol) |
GetUserCodeSourcePositionCallback(DkmWorkList, DkmInspectionSession, DkmCompletionRoutine<DkmGetUserCodeSourcePositionCallbackAsyncResult>) |
Retorna a posição do arquivo de origem (por exemplo: example.cs, linha 12) deste símbolo de instrução. Se esse símbolo de instrução não estiver associado a um arquivo de origem ou não estiver no código do usuário, será retornado nulo (E_INSTRUCTION_NO_SOURCE código de retorno). Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente monitor (nível < de componente 100.000). (Herdado de DkmInstructionSymbol) |
HasEmbeddedDocument() |
Testa se o símbolo fornecido tem um documento inserido. Documentos inseridos são quando um arquivo de origem (por exemplo, main.cs) é inserido dentro do arquivo de símbolo (por exemplo, example.pdb). Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). Essa API foi introduzida no Visual Studio 15 Atualização 8 (DkmApiVersion.VS15Update8). (Herdado de DkmInstructionSymbol) |
HasLineInfo() |
Consulta o provedor de símbolos para determinar se temos informações de linha. Usado pelo monitor de depuração para decidir se o local pode ser considerado código do usuário. Restrição de local: para símbolos comuns, pode ser chamada de qualquer componente. Para símbolos dinâmicos, só pode ser chamado no lado do servidor. (Herdado de DkmInstructionSymbol) |
HasLineInfo(DkmWorkList, DkmCompletionRoutine<DkmHasLineInfoAsyncResult>) |
Consulta o provedor de símbolos para determinar se temos informações de linha. Usado pelo monitor de depuração para decidir se o local pode ser considerado código do usuário. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: para símbolos comuns, pode ser chamada de qualquer componente. Para símbolos dinâmicos, só pode ser chamado no lado do servidor. (Herdado de DkmInstructionSymbol) |
IsHiddenCode(DkmWorkList, DkmInspectionSession, DkmInstructionAddress, DkmCompletionRoutine<DkmIsHiddenCodeAsyncResult>) |
Retornará se este símbolo de instrução estiver em código oculto. Por exemplo, no código gerenciado, o número de linha 0xfeefee marca uma linha de origem como oculta. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará depois que o item de trabalho for acrescentado. O processamento real do item de trabalho é assíncrono. O chamador será notificado de que a solicitação foi concluída por meio da rotina de conclusão. Restrição de local: a API deve ser chamada de um componente IDE (nível > de componente 100.000). (Herdado de DkmInstructionSymbol) |