DkmOpenEnclaveRuntimeInstance 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.
A classe DkmOpenEnclaveRuntimeInstance representa a execução nativa em um contexto enclave.
Essa API foi introduzida no Visual Studio 16 atualização 5 (DkmApiVersion. VS16Update5).
public ref class DkmOpenEnclaveRuntimeInstance : Microsoft::VisualStudio::Debugger::DkmRuntimeInstance
[System.Runtime.InteropServices.Guid("29d33475-ffc9-1cca-25b8-6e9f29dad2b2")]
public class DkmOpenEnclaveRuntimeInstance : Microsoft.VisualStudio.Debugger.DkmRuntimeInstance
[<System.Runtime.InteropServices.Guid("29d33475-ffc9-1cca-25b8-6e9f29dad2b2")>]
type DkmOpenEnclaveRuntimeInstance = class
inherit DkmRuntimeInstance
Public Class DkmOpenEnclaveRuntimeInstance
Inherits DkmRuntimeInstance
- Herança
- Atributos
Propriedades
| Capabilities |
Enumeração de recursos de tempo de execução.
(Herdado de DkmRuntimeInstance)
|
| 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 DkmRuntimeInstance) |
| Id |
Identifica um objeto DkmRuntimeInstance dentro de um processo. (Herdado de DkmRuntimeInstance) |
| 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) |
| ParentRuntime |
Adicional Para tempos de execução que são implementados sobre outro tempo de execução, opcionalmente, isso pode ser usado para o Índico do pai lógico. Isso pode ser usado para solicitar serviços do pai quando o tempo de execução filho não implementa o serviço. Atualmente, isso é usado apenas para obter o quadro de pilha superior para avaliar um ponto de interrupção condicional quando o tempo de execução filho não percorre as pilhas em si. Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmRuntimeInstance) |
| 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 DkmRuntimeInstance) |
| TagValue |
DkmRuntimeInstance é uma classe base abstrata. Essa enumeração indica a qual classe derivada esse objeto é uma instância do. (Herdado de DkmRuntimeInstance) |
Métodos
| AfterSteppingArbitration(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance) |
AfterSteppingArbitration é chamado pelo Gerenciador de etapas na instância de tempo de execução de controle antigo depois que a arbitragem de depuração é concluída, mas antes da próxima instância de tempo de execução iniciar a depuração. Isso permite que os tempos de execução limpem qualquer estado de depuração se outro tempo de execução tiver assumido o controle. Se nenhum outro monitor de tempo de execução solicitou o local atual, o monitor original deve concluir a etapa. Isso é indicado por NewControllingRuntimeInstance sendo nulo. Por exemplo, uma instância de tempo de execução pode optar por voltar se um descarregou de etapa em um local sem símbolos e nenhum outro tempo de execução tiver assumido o controle. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| BeforeEnableNewStepper(DkmStepper) |
BeforeEnableNewStepper é chamado pelo Gerenciador de etapas antes que um novo stepper seja habilitado. Isso dá aos tempos de execução a capacidade de fazer qualquer inicialização que possa ser necessária, como executar avaliações de função de pré-teste. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| Create(DkmProcess, DkmRuntimeInstanceId, DkmRuntimeCapabilities, DkmRuntimeInstance, DkmDataItem) |
Cria um novo objeto de instância de tempo de execução a partir de um monitor de depuração. Esse método deve ser chamado a partir do thread de eventos quando um monitor de depuração detectar que uma nova instância de tempo de execução foi carregada (por exemplo, quando a DLL de tempo de execução correspondente for carregada no processo de destino). Esse método enviará um evento RuntimeInstanceLoad. 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 16 atualização 5 (DkmApiVersion. VS16Update5). |
| Disassemble(DkmInstructionAddress, UInt32) |
Desmontar um intervalo de endereços no tempo de execução de depuraçã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 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmRuntimeInstance) |
| FindModulesByName(String) |
Esse método retorna todos os módulos que correspondem ao nome especificado. (Herdado de DkmRuntimeInstance) |
| GetCodePathsInRange(ICorDebugFrame, UInt32, UInt32) |
GetCodePathsInRange é chamado para obter caminhos de código em um intervalo de IL específico.
(Herdado de DkmRuntimeInstance)
|
| 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) |
| GetEnclaveTransitionType(UInt64) |
Retorna se o endereço especificado está dentro de uma região de texto explicativo enclaves. 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 16 atualização 5 (DkmApiVersion. VS16Update5). |
| GetInstructionAddress(DkmInstructionAddress, Int32) |
Retorna o endereço da instrução enésimo em relação a um endereço inicial. Para conjuntos de instruções de comprimento constante, isso é aritmética simples. Para conjuntos de instruções de comprimento variável, a desmontagem reversa é necessária para obter esse endereç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 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmRuntimeInstance) |
| GetManagedHeapSamplers() |
GetManagedHeapSamplers enumera os elementos DkmManagedHeapSampler desse objeto DkmRuntimeInstance. Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmRuntimeInstance) |
| GetManagedHeapWalkers() |
GetManagedHeapWalkers enumera os elementos DkmManagedHeapWalker desse objeto DkmRuntimeInstance. Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion. VS12RTM). (Herdado de DkmRuntimeInstance) |
| GetModuleInstances() |
GetModuleInstances enumera os elementos DkmModuleInstance desse objeto DkmRuntimeInstance. (Herdado de DkmRuntimeInstance) |
| GetScriptDocumentTreeNodes() |
GetScriptDocumentTreeNodes enumera os elementos DkmScriptDocumentTreeNode desse objeto DkmRuntimeInstance. (Herdado de DkmRuntimeInstance) |
| GetSymbolNameForAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetSymbolNameForAddressAsyncResult>) |
Obtém o nome do símbolo para o endereço especificado usando informações de tempo de execução em vez de símbolos. Atualmente, isso é apenas implementado para a instância do CLR Runtime. 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). Essa API foi introduzida no Visual Studio 16 atualização 7 (DkmApiVersion. VS16Update7). (Herdado de DkmRuntimeInstance) |
| GetTaskProviders() |
GetTaskProviders enumera os elementos DkmTaskProvider desse objeto DkmRuntimeInstance. (Herdado de DkmRuntimeInstance) |
| GetThreadDisplayProperties(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadDisplayPropertiesAsyncResult>) |
Obtém as propriedades de exibição do thread, incluindo o nome de exibição e a categoria do thread. 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 DkmRuntimeInstance) |
| GetThreadName(DkmThread) |
Compute o nome de um thread. (Herdado de DkmRuntimeInstance) |
| GetThreadName(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadNameAsyncResult>) |
Compute o nome de um thread. 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. (Herdado de DkmRuntimeInstance) |
| NotifyStepComplete(DkmStepper) |
NotifyStepComplete é chamado pelo Gerenciador de etapas em todas as instâncias de tempo de execução sem controle quando uma etapa é concluída. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| OnLoadComplete() |
Esse método é chamado por um monitor de depuração para gerar um evento RuntimeInstanceLoadComplete. No momento, o RuntimeInstanceLoadComplete é enviado apenas para a instância de tempo de execução nativa, embora isso possa ser alterado no futuro. O evento é emitido após a criação de objetos DkmModuleInstance para o conjunto inicial de módulos na instância de tempo de execução. Esse método só pode ser chamado pelo componente que criou o objeto. Essa API foi introduzida no Visual Studio 12 atualização 2 (DkmApiVersion. VS12Update2). (Herdado de DkmRuntimeInstance) |
| OnNewControllingRuntimeInstance(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance) |
OnNewControllingRuntimeInstance é chamado pelo Gerenciador de etapas em todas as instâncias de tempo de execução não controladas depois que a arbitragem de etapa selecionar uma nova instância de tempo de execução de controle. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason) |
OwnsCurrentExecutionLocation é chamado pelo Gerenciador de etapas enquanto procura monitores para executar uma etapa. Se o local atual no depurado for compreendido por esse monitor, ele poderá retornar true aqui para assumir o controle da etapa. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| 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) |
| ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>) |
Resolve um InstructionAddress de CPU para um objeto DkmInstructionAddress específico de tempo de execução. Atualmente, essa API só tem suporte por objetos DkmRuntimeInstance do CLR, e a instância do CLR Runtime só pode encontrar endereços de instrução que estejam em um método que esteja atualmente na pilha de chamadas de um dos threads no processo de destino. 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: essa API deve ser geralmente chamada no cliente, mas pode ser chamada no servidor para converter endereços CLR (mas não compilados nativamente). (Herdado de DkmRuntimeInstance) |
| ResolveCPUInstructionAddress(UInt64, Boolean) |
Resolve um InstructionAddress de CPU para um objeto DkmInstructionAddress específico de tempo de execução. Atualmente, essa API só tem suporte por objetos DkmRuntimeInstance do CLR, e a instância do CLR Runtime só pode encontrar endereços de instrução que estejam em um método que esteja atualmente na pilha de chamadas de um dos threads no processo de destino. Restrição de local: essa API deve ser geralmente chamada no cliente, mas pode ser chamada no servidor para converter endereços CLR (mas não compilados nativamente). (Herdado de DkmRuntimeInstance) |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
Coloque um novo item no contêiner de dados. (Herdado de DkmDataContainer) |
| SetRegisterValue(DkmStackWalkFrame, Int32, ReadOnlyCollection<Byte>) |
Define o valor do registro no contexto do thread. Os subregistros compostos de registros maiores têm suporte. (Herdado de DkmRuntimeInstance) |
| Step(DkmStepper, DkmStepArbitrationReason) |
A etapa é chamada pelo Gerenciador de etapas depois de determinar que esse monitor é o monitor correto para executar a etapa. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| StepControlRequested(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance) |
StepControlRequested é chamado pelo Gerenciador de etapas quando uma instância de tempo de execução sem controle detecta que o thread atingiu uma transição para seu tempo de execução. Se a instância atual de tempo de execução de controle puder parar de avançar, ela deverá definir concedido como true. O controle real não é fornecido até que o tempo de execução solicitante chame DkmStepper. TakeStepControl. Esse processo de duas partes permite que os chamadores solicitem controle de vários ao mesmo tempo. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| StopStep(DkmStepper) |
StopStep é chamado pelo Gerenciador de etapas quando o processo está sendo continuado para limpar qualquer estado de depuração restante para um stepper. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance) |
TakeStepControl é chamado pelo Gerenciador de etapas quando uma instância de tempo de execução sem controle detecta que o thread atingiu uma transição para seu tempo de execução. O Gerenciador de etapas encaminhará a chamada para a instância atual de tempo de execução de controle. A instância de tempo de execução que solicita o controle deve primeiro chamar StepControlRequested em todos os que desejarem controlar. Se todos eles definirem concedido como true, a instância de tempo de execução deverá chamar esse método em cada stepper que estiver assumindo o controle de. Restrição de local: a API deve ser chamada de um componente de monitor (nível de componente < 100.000). (Herdado de DkmRuntimeInstance) |
| Unload() |
RuntimeInstanceUnload é enviado pelo Dispatcher quando DkmRuntimeInstance:: Unload é invocado pelo monitor. Esse método só pode ser chamado pelo componente que criou o objeto. (Herdado de DkmRuntimeInstance) |