DkmNativeModuleInstance 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.
' DkmNativeModuleInstance ' é usado para módulos que contêm código de CPU e/ou são carregados pelo carregador do Win32.
public ref class DkmNativeModuleInstance : Microsoft::VisualStudio::Debugger::DkmModuleInstance
[System.Runtime.InteropServices.Guid("b7de7beb-acab-76c4-bd78-fbba698e4b65")]
public class DkmNativeModuleInstance : Microsoft.VisualStudio.Debugger.DkmModuleInstance
[<System.Runtime.InteropServices.Guid("b7de7beb-acab-76c4-bd78-fbba698e4b65")>]
type DkmNativeModuleInstance = class
inherit DkmModuleInstance
Public Class DkmNativeModuleInstance
Inherits DkmModuleInstance
- Herança
- Atributos
Propriedades
| BaseAddress |
O endereço de memória inicial do qual o módulo é carregado. Esse valor sempre deve ser válido. |
| ClrHeaderStatus |
Contém informações do campo ' flags ' da IMAGE_COR20_HEADER do módulo carregado. Isso indica que tipo de binário foi carregado. |
| Connection |
Isso representa uma conexão entre o monitor e o IDE. Pode ser uma conexão local se o monitor estiver em execução no mesmo processo que o IDE, ou pode ser uma conexão remota. No processo de monitor, há apenas uma conexão. (Herdado de DkmModuleInstance) |
| Flags |
Sinalizadores que indicam características de um DkmModuleInstance. (Herdado de DkmModuleInstance) |
| FullName |
Nome do módulo totalmente qualificado. Para módulos baseados em arquivo, este é o caminho completo para o módulo (por exemplo: c:\windows\system32\kernel32.dll. (Herdado de DkmModuleInstance) |
| IsDisabled |
Indica se esta instância do módulo foi desabilitada. Módulos desabilitados são amplamente ignorados pelo depurador. Para módulos nativos, o intervalo de endereços do módulo desabilitado é tratado como se ele não estiver mapeado. Para módulos CLR, todos os quadros desses módulos ficam ocultos da pilha de chamadas. (Herdado de DkmModuleInstance) |
| IsUnloaded |
Retornará true se um evento ' Unloaded ' tiver sido gerado para este objeto (exemplo: DkmThread:: Unload é chamado) ou se o objeto foi fechado. Observe que o cuidado deve ser usado ao verificar esse status como, sem sincronização, o status retornado pode não ser mais preciso na instrução após sua leitura. (Herdado de DkmDataContainer) |
| LoadContext |
Descrição da cadeia de caracteres do contexto no qual este módulo foi carregado. por exemplo: ' Win32 ' ou ' CLR v 2.0.50727: domínio padrão '. (Herdado de DkmModuleInstance) |
| LoadOrder |
A contagem de inteiros do número de instâncias de módulo que foram carregadas até e incluindo este módulo. Cada instância de tempo de execução controla sua própria contagem de ordem de carregamento. (Herdado de DkmModuleInstance) |
| MemoryLayout |
Enumeração que indica como um módulo é apresentado na memória. (Herdado de DkmModuleInstance) |
| MinidumpInfoPart |
Adicional ' MinidumpInfoPart ' é usado para transmitir informações adicionais sobre módulos em um DkmProcess para um minidespejo. (Herdado de DkmModuleInstance) |
| Module |
Adicional A representação do manipulador de símbolo de um módulo (DkmModule) que está associado a esta instância de módulo. Esse valor é inicialmente nulo e será atribuído se e quando os símbolos estiverem associados a essa instância do módulo. (Herdado de DkmModuleInstance) |
| Name |
Representação curta do nome do módulo. Para módulos baseados em arquivo, esse é o nome do arquivo e a extensão (ex: kernel32.dll). (Herdado de DkmModuleInstance) |
| Process |
DkmProcess representa um processo de destino que está sendo depurado. O depurador debugs processa, portanto, essa é a unidade básica de depuração. Um DkmProcess pode representar um processo do sistema ou um processo virtual, como minidespejos. (Herdado de DkmModuleInstance) |
| RuntimeInstance |
Representa o código nativo em execução em um processo de destino. |
| Size |
O número de bytes na região de memória do módulo. |
| SymbolFileId |
Adicional Contém as informações necessárias para localizar os símbolos para este módulo. No Win32, essas informações estão contidas no IMAGE_DEBUG_DIRECTORY. (Herdado de DkmModuleInstance) |
| TagValue |
DkmModuleInstance é uma classe base abstrata. Essa enumeração indica a qual classe derivada esse objeto é uma instância do. (Herdado de DkmModuleInstance) |
| TimeDateStamp |
Data/hora de quando o módulo carregado foi criado. Esse valor é obtido da IMAGE_NT_HEADERS do módulo carregado. A unidade de medida é um valor FILETIME, que é um valor de 64 bits que representa o número de intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC). (Herdado de DkmModuleInstance) |
| UniqueId |
Identifica exclusivamente o objeto DkmModuleInstance. (Herdado de DkmModuleInstance) |
| Version |
Adicional Informações de versão do arquivo. (Herdado de DkmModuleInstance) |
Métodos
| ClearTransitionModuleFlag() |
As instâncias de tempo de execução chamam esse método para marcar um módulo como um módulo de limite. Durante a depuração, os tempos de execução devem verificar se a etapa atingiu um módulo de limite e iniciar a depuração de arbitragem, se houver. Observe que alguns tempos de execução podem não ser capazes de honrar essa solicitação. O Dispatcher manterá uma contagem do número de vezes que FlagAsTransitionModule foi chamado. Somente quando um número correspondente de chamadas para ClearTransitionModuleFlag, o módulo não será mais considerado um módulo de transição. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmModuleInstance) |
| Create(String, String, UInt64, DkmModuleVersion, DkmSymbolFileId, DkmModuleFlags, DkmModuleMemoryLayout, UInt32, String, DkmNativeRuntimeInstance, UInt64, UInt32, DkmClrHeaderStatus, Boolean, DkmModule, DkmModuleInstance+MinidumpInfo, DkmDataItem) |
Crie uma nova instância do objeto DkmNativeModuleInstance. Esse método enviará um evento ModuleInstanceLoad. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). |
| Decompile() |
Descompila o código de um módulo em C# e cria um novo PDB portátil com essa fonte inserida. Todos os módulos que compartilham este arquivo de símbolo começarão a usar esses símbolos atualizados. Restrição de local: esse método pode ser chamado de um IDE. Essa API foi introduzida no Visual Studio 16 atualização 5 (DkmApiVersion. VS16Update5). (Herdado de DkmModuleInstance) |
| Decompile(DkmWorkList, DkmCompletionRoutine<DkmDecompileAsyncResult>) |
Descompila o código de um módulo em C# e cria um novo PDB portátil com essa fonte inserida. Todos os módulos que compartilham este arquivo de símbolo começarão a usar esses símbolos atualizados. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. 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: esse método pode ser chamado de um IDE. Essa API foi introduzida no Visual Studio 16 atualização 5 (DkmApiVersion. VS16Update5). (Herdado de DkmModuleInstance) |
| FindExportByOrdinal(DkmWorkList, UInt32, Boolean, DkmCompletionRoutine<DkmFindExportByOrdinalAsyncResult>) |
Localiza o endereço da função exportada (ou exportação de dados) especificada pelo ordinal. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. 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. Essa API foi introduzida no Visual Studio 15 RTM (DkmApiVersion. VS15RTM). |
| FindExportByOrdinal(UInt32, Boolean) |
Localiza o endereço da função exportada (ou exportação de dados) especificada pelo ordinal. Essa API foi introduzida no Visual Studio 15 RTM (DkmApiVersion. VS15RTM). |
| FindExportName(DkmWorkList, String, Boolean, DkmCompletionRoutine<DkmFindExportNameAsyncResult>) |
Localiza o endereço da função exportada nomeada especificada (ou exportação de dados). Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. 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. |
| FindExportName(String, Boolean) |
Localiza o endereço da função exportada nomeada especificada (ou exportação de dados). |
| FlagAsTransitionModule() |
As instâncias de tempo de execução chamam esse método para marcar um módulo como um módulo de limite. Durante a depuração, os tempos de execução devem verificar se a etapa atingiu um módulo de limite e iniciar a depuração de arbitragem, se houver. Observe que alguns tempos de execução podem não ser capazes de honrar essa solicitação. O Dispatcher manterá uma contagem do número de vezes que isso foi chamado. Somente quando um número correspondente de chamadas para ClearTransitionModuleFlag tiver sido feito, o módulo não será mais considerado um módulo de transição. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmModuleInstance) |
| GetDataItem<T>() |
Obtém a instância de ' T' que foi adicionada a esta instância de contêiner. Se esse contêiner não contiver um ' T', essa função retornará NULL. (Herdado de DkmDataContainer) |
| GetFunctionTableEntry(UInt64) |
Obtenha a entrada da tabela de funções para o endereço passado. O formato do mecanismo depende da arquitetura de depuração. |
| GetGPUDisassembly(UInt64, UInt32, Boolean, Boolean) |
Obtenha a desmontagem do intervalo de endereços na instância do módulo depurador. (Herdado de DkmModuleInstance) |
| GetGPUDisassemblySize() |
Retorna o tamanho da desmontagem na instância do módulo depurador. (Herdado de DkmModuleInstance) |
| GetNextGPUInstructionAddress(UInt64) |
Retorna o endereço da próxima instrução relativa a um endereço inicial. (Herdado de DkmModuleInstance) |
| GetSymbolLoadInformation() |
Retorna uma cadeia de caracteres que descreve os vários locais nos quais os símbolos foram pesquisados e o resultado da verificação desse local. Essas informações são usadas para preencher as ' informações de carregamento de símbolo ' na janela módulos. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). (Herdado de DkmModuleInstance) |
| GetSymbolStatusMessage(Boolean) |
Obtenha uma descrição de cadeia de caracteres localizada do status atual do símbolo. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). (Herdado de DkmModuleInstance) |
| IsSuppressed() |
Esse método permite que um componente determine se o evento de carregamento de módulo de um módulo foi suprimido. Essa API foi introduzida no Visual Studio 12 atualização 3 (DkmApiVersion. VS12Update3). (Herdado de DkmModuleInstance) |
| IsTransitionModule() |
Retornará true se qualquer instância de tempo de execução tiver sinalizado este módulo como um módulo de transição. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmModuleInstance) |
| IsUserCode() |
Determina se um módulo é considerado código de usuário. Restrição de local: esse método pode ser chamado de um componente IDE. A partir do Visual Studio 2013 atualização 2, também é possível chamá-lo de um componente de monitor para código gerenciado. No Visual Studio 2017 atualização 8, o CallDirection da API foi tornado ' bidirecional ' de ' normal ' e agora pode ser chamado de qualquer componente, AsyncCaller foi definido como ' true ' e CallerLocationConstraint foi definido como ' none ' de ' nomarshaling '. Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmModuleInstance) |
| IsUserCode(DkmWorkList, DkmCompletionRoutine<DkmModuleInstanceIsUserCodeAsyncResult>) |
Determina se um módulo é considerado código de usuário. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. 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: esse método pode ser chamado de um componente IDE. A partir do Visual Studio 2013 atualização 2, também é possível chamá-lo de um componente de monitor para código gerenciado. No Visual Studio 2017 atualização 8, o CallDirection da API foi tornado ' bidirecional ' de ' normal ' e agora pode ser chamado de qualquer componente, AsyncCaller foi definido como ' true ' e CallerLocationConstraint foi definido como ' none ' de ' nomarshaling '. Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmModuleInstance) |
| OnBinaryLoaded(String) |
Gerar um evento BinaryLoaded. Os componentes que implementam a interface do coletor de eventos receberão a notificação de eventos. O controle retornará assim que todos os componentes forem notificados. Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmModuleInstance) |
| OnBinaryReloadOpportunity() |
Gerar um evento BinaryReloadOpportunity. Os componentes que implementam a interface do coletor de eventos receberão a notificação de eventos. O controle retornará assim que todos os componentes forem notificados. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). Essa API foi introduzida no Visual Studio 12 atualização 2 (DkmApiVersion. VS12Update2). (Herdado de DkmModuleInstance) |
| OnModuleModified() |
Esse método é chamado quando um módulo é alterado devido ao EnC ou código emitido dinamicamente. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion. VS14RTM). (Herdado de DkmModuleInstance) |
| OnSymbolsLoaded(DkmModule, Boolean) |
Esse método é invocado por monitores de depuração base em resposta a uma chamada para IDkmModuleSymbolsLoaded. RaiseSymbolsLoadedEvent. Esse método deve ser invocado a partir do thread de eventos ou do thread de solicitação como parte de um recarregamento. Os monitores de depuração base devem alternar de forma síncrona para o thread do evento, pausar o processo de destino e invocar OnSymbolsLoaded. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmModuleInstance) |
| OnSymbolsUpdated(DkmModule) |
Gerar um evento ModuleSymbolsUpdated. Os componentes que implementam a interface do coletor de eventos receberão a notificação de eventos. O controle retornará assim que todos os componentes forem notificados. (Herdado de DkmModuleInstance) |
| ReadSymbols() |
Esse método é invocado por manipuladores de símbolo para ler símbolos para DkmModuleInstances cujos símbolos residem na memória do depurador. (Herdado de DkmModuleInstance) |
| RemoveDataItem<T>() |
Remova a instância de ' T' deste contêiner. Normalmente, é desnecessário chamar esse método, pois um contêiner de dados será automaticamente esvaziado quando o objeto for fechado. (Herdado de DkmDataContainer) |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
Coloque um novo item no contêiner de dados. (Herdado de DkmDataContainer) |
| SetDisabled(Boolean) |
Atualiza o status desabilitado em um módulo. Esse método só pode ser chamado a partir de um evento ModuleInstanceLoad. Ao desabilitar um módulo, é comum também suprimir o evento de carregamento do módulo. (Herdado de DkmModuleInstance) |
| SetModule(DkmModule, Boolean) |
Esse método é invocado por um provedor de símbolos para associar um DkmModule a um DkmModuleInstance e disparar um evento ModuleSymbolsLoaded. Ele pode ser chamado apenas uma vez para um objeto DkmModuleInstance. Chamar essa API estabelecerá a associação DkmModule < - > DkmModuleInstance, bem como fará com que um evento ModuleSymbolsLoaded seja gerado. (Herdado de DkmModuleInstance) |
| TryLoadBinary() |
Tentativa de carregar um binário que falhou anteriormente ao carregar usando caminhos de símbolo atualizados. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). (Herdado de DkmModuleInstance) |
| TryLoadBinary(DkmWorkList, DkmCompletionRoutine<DkmTryLoadBinaryAsyncResult>) |
Tentativa de carregar um binário que falhou anteriormente ao carregar usando caminhos de símbolo atualizados. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. 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 DkmModuleInstance) |
| TryLoadSymbols() |
Chamado para iniciar o carregamento de símbolos para DkmModuleInstances cujos símbolos não foram encontrados quando o módulo foi carregado. Restrição de local: a API deve ser chamada de um componente IDE (nível de componente > 100.000). (Herdado de DkmModuleInstance) |
| TryLoadSymbols(DkmWorkList, DkmCompletionRoutine<DkmTryLoadSymbolsAsyncResult>) |
Chamado para iniciar o carregamento de símbolos para DkmModuleInstances cujos símbolos não foram encontrados quando o módulo foi carregado. Esse método acrescentará um novo item de trabalho à lista de trabalho especificada e retornará assim que o item de trabalho tiver sido anexado. 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 DkmModuleInstance) |
| Unload() |
Marque o objeto Unload como descarregado e notifique os componentes que implementam a interface do coletor de eventos. O controle retornará assim que todos os componentes forem notificados. Esse método só pode ser chamado pelo componente que criou o objeto. (Herdado de DkmModuleInstance) |