Compartilhar via


Microsoft.VisualStudio.Debugger Namespace

Classes

DkmBaseDebugMonitorId

DkmBaseDebugMonitorId identifica o monitor de depuração base usado para inspecionar e controlar o processo depurado. Por exemplo, DkmBaseDebugMonitorId.WindowsProcess é usado para processos depurados pela API de depuração win32 e DkmBaseDebugMonitorId.DumpFile é usado para minidumps.

DkmComponentManager

Fornece serviços do Dispatcher para inicializar threads.

DkmCustomMessage

Estrutura de mensagens usada para passar informações entre componentes de back-end do depurador personalizado e componentes personalizados da interface do usuário do Visual Studio (pacotes, suplementos etc.).

DkmDataContainer

DkmDataContainer é um bloco de construção usado em toda essa API. Ele permite que muitos dos objetos nessa API contenham "campos virtuais" que são adicionados por qualquer componente no sistema. Isso é semelhante a uma versão de tipo seguro do conceito 'expando' no JScript.

Regras para DkmDataContainer:

  1. Todos os objetos 'reference' no sistema herdam de DkmDataContainer. Os objetos de referência são rastreados pelo componente dispatcher desse sistema e, em vários pontos de marshalling (nativos> gerenciados, gerenciados> nativos, comunicação remota), a identidade de referência do objeto é preservada. Os objetos 'Value' não herdam de DkmDataContainer porque o sistema não rastreia esses objetos, portanto, em qualquer transição de marshalling, o valor do objeto é copiado.
  2. Os 'campos virtuais' desses objetos que herdam de DkmDataContainer são chamados de itens de dados.
  3. Os itens de dados são PRIVATE para o componente que os adicionou. Esse recurso não pode ser usado para compartilhar campos entre os limites do componente.
  4. Os itens de dados são instâncias de uma classe de item de dados. No código gerenciado, as classes de item de dados herdam de DkmDataItem para identificá-las como um item de dados. No código nativo, os itens de dados herdam do IUnknown.
  5. Normalmente, um componente nunca precisaria remover um item de dados. Isso ocorre porque os itens de dados são removidos automaticamente quando o objeto de contêiner é fechado.
DkmDataItem

'DkmDataItem' é a classe base para todas as classes de item de dados. Consulte 'DkmDataContainer' para obter mais informações.

DkmDiagnosticsLog

Classe estática definindo métodos para fazer logon no dispatcher diagnóstico log

DkmDotnetVisualizerExtensionInfo

Contém informações sobre uma extensão de visualizador de depurador que pode ser exibida para um resultado de avaliação.

Essa API foi introduzida no Visual Studio 17 Atualização 6 (DkmApiVersion.VS17Update6).

DkmEngineId

Esses são os valores de GUID do mecanismo 'padrão'. Espera-se que essa lista cresça ao longo do tempo, portanto, sempre que possível, é recomendável consultar uma configuração em vez de comparar a EngineId.

DkmEngineSettings

Contém as configurações de depuração em toda a sessão. Há uma instância desse objeto por Guid do mecanismo (por exemplo: uma instância para COMPlusOnlyEng2, uma instância para COMPlusNativeEng).

DkmEventDescriptor

Descreve o evento que está sendo processado.

DkmEventDescriptorS

Descreve o evento que está sendo processado e fornece a capacidade de um componente suprimir esse evento.

DkmException

Classe de exceção base para todas as exceções dentro dessa API.

DkmGlobalSettings

Classe estática que contém configurações globais para o processo do depurador

DkmInstructionAddress

Representação abstrata de um local de código executável (por exemplo, valor EIP). Se resolvido, um Endereço de Instrução estará dentro de uma instância de módulo específica. Um endereço de instrução está sempre dentro de uma instância de runtime específica.

Classes derivadas: DkmClrInstructionAddress, DkmClrNcInstructionAddress, DkmCustomInstructionAddress, DkmNativeInstructionAddress, DkmScriptInstructionAddress, DkmUnknownInstructionAddress

DkmInstructionAddress.CPUInstruction

CPUInstruction fornece o endereço que a CPU executará. Isso sempre é fornecido para instruções nativas. Ele pode ser fornecido para CLR ou endereços personalizados, dependendo de como o objeto de endereço foi criado.

DkmLanguageRegistrySetting

Emparelhamento entre o nome de uma configuração e seu valor.

DkmModuleInstance

A classe Instância do Módulo representa um pacote de código (ex: dll ou exe) que é carregado em um processo específico em um local específico. Os objetos da Instância do Módulo são 1:1 com a noção do ambiente de execução de um pacote de código. Por exemplo, no código nativo, os objetos da Instância do Módulo são 1:1 com endereço base.

Classes derivadas: DkmClrModuleInstance, DkmClrNcModuleInstance, DkmCustomModuleInstance, DkmNativeModuleInstance, DkmClrNcContainerModuleInstance

DkmModuleInstance.MinidumpInfo

'MinidumpInfo' é usado para transmitir informações adicionais sobre módulos em um DkmProcess para um minidump.

DkmModuleVersion

Informações de versão do arquivo.

DkmNativeEESettings

Contém as configurações do avaliador de expressão nativa.

Essa API foi introduzida no Visual Studio 17 Atualização 7 (DkmApiVersion.VS17Update7).

DkmPerformanceCounters

Coleção de contadores de execução de processo.

Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

DkmProcess

O DkmProcess representa um processo de destino que está sendo depurado. O depurador depura processos, portanto, essa é a unidade básica de depuração. Um DkmProcess pode representar um processo do sistema ou um processo virtual, como minidumps.

DkmProcess.Live

Informações relevantes para um processo em execução. Por exemplo, essa Parte NÃO estará presente para minidumps.

DkmProcessExecutionCounters

Armazena um carimbo de data/hora QPC para um evento de parada/retomada de processo.

Essa API foi introduzida no Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

DkmProcessSnapshot

DkmProcessSnapshot representa um instantâneo capturado sobre um processo em execução.

Essa API foi introduzida no Visual Studio 15 Atualização 3 (DkmApiVersion.VS15Update3).

DkmReadOnlyByteCollection

Uma implementação de ReadOnlyCollection que pode fornecer um ponteiro para a memória nativa subjacente. Atualmente, essa classe só é usada para ReadOnlyCollections armazenando bytes quando o valor é passado por meio de uma chamada à API concord.

DkmRegistryTweak

Um par chave/valor lido do Registro.

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

DkmRuntimeId

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.

DkmRuntimeInstance

A classe DkmRuntimeInstance representa um ambiente de execução que é carregado em um DkmProcess e que contém o código a ser depurado.

Classes derivadas: DkmClrRuntimeInstance, DkmClrNcRuntimeInstance, DkmCustomRuntimeInstance, DkmNativeRuntimeInstance, DkmScriptRuntimeInstance, DkmNativeDwarfRuntimeInstance, DkmOpenEnclaveRuntimeInstance

DkmSourceId

Identifica a origem de um objeto . SourceIds são usados para habilitar a filtragem em cenários em que vários componentes podem estar criando instâncias de uma classe. Por exemplo, as IDs de origem podem ser usadas para determinar se um ponto de interrupção vem do AD7 AL (por exemplo: ponto de interrupção do usuário ou outro ponto de interrupção visível no nível do SDM) em vez de um ponto de interrupção que pode ser criado por outro componente (por exemplo, um ponto de interrupção interno usado para percorrer).

DkmThread

DkmThread representa um thread em execução no processo de destino.

Classes derivadas: DkmGPUComputeThread, DkmVirtualThread

DkmThread.System

Descreve as características do thread que são relevantes para um thread Completo do Win32. Atualmente, esse valor é necessário e todos os threads terão um bloco 'System'. No futuro, esse valor poderá ser NULL se o DkmThread representar algo diferente de um thread Completo do Win32.

DkmTraceTimeContext

Um ponto de tempo dentro de um rastreamento de viagem no tempo. A representação interna é um detalhe de implementação do criador.

Essa API foi introduzida no Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

DkmUnknownInstructionAddress

Representa um endereço que não pôde ser resolvido para um módulo.

DkmUserMessage

Contém informações sobre uma mensagem que deve ser exibida ao usuário.

DkmVirtualThread

DkmVirtualThread representa um thread que não existe fisicamente no processo depurado.

Essa API foi introduzida no Visual Studio 16 Atualização 2 (DkmApiVersion.VS16Update2).

DkmWaitUIOperation

Representa uma operação que está acontecendo no back-end do depurador e que pode ser lenta, portanto, o usuário deve ser informado se ele acabar demorando mais o atraso especificado.

Essa API foi introduzida no Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmWorkList

Coleção de itens de trabalho assíncronos que são processados juntos. Os itens de trabalho são acrescentados chamando qualquer um dos métodos assíncronos em toda essa API. Os itens de trabalho podem ser acrescentados livremente até que a lista de trabalho inicie a execução. Depois que a execução for iniciada, o trabalho adicional só poderá ser acrescentado da implementação de uma interface de processamento de item de trabalho ou de uma rotina de conclusão.

Estruturas

DkmDisplayUserMessagePromptAsyncResult

Resultado de uma chamada assíncrona DkmUserMessage.DisplayPrompt.

DkmGetCurrentCPUAddressAsyncResult

Resultado de uma chamada assíncrona DkmInstructionAddress.GetCurrentCPUAddress.

DkmGetInstructionAddressAsyncResult

Resultado de uma chamada assíncrona DkmProcess.GetInstructionAddress.

DkmGetRelativeInstructionAddressAsyncResult

Resultado de uma chamada assíncrona DkmProcess.GetInstructionAddress.

DkmGetSymbolSearchResultAsyncResult

Resultado de uma chamada assíncrona DkmModuleInstance.GetSymbolSearchResult.

DkmModuleInstanceIsUserCodeAsyncResult

Resultado de uma chamada assíncrona DkmModuleInstance.IsUserCode.

DkmPerformanceCountersAsyncResult

Resultado de uma chamada assíncrona DkmProcess.QueryPerformanceCounters.

DkmResolveCPUInstructionAddressAsyncResult

Resultado de uma chamada assíncrona de DkmRuntimeInstance.ResolveCPUInstructionAddress.

DkmRuntimeInstanceId

Identifica um objeto DkmRuntimeInstance em um processo.

DkmSendLowerAsyncResult

Resultado de uma chamada assíncrona de DkmCustomMessage.SendLower.

DkmTryLoadBinaryAsyncResult

Resultado de uma chamada assíncrona DkmModuleInstance.TryLoadBinary.

DkmXmm128

DkmXmm128 representa o conteúdo de um registro XMM de 128 bits em sistemas x64

Enumerações

DkmApiVersion

Código de enumeração das várias versões dessa API.

DkmAsyncBreakStatus

Indica o tipo de quebra assíncrona que ocorreu.

DkmClientUI

Especifica o tipo de Interface do Usuário que está conduzindo uma instância do mecanismo.

Essa API foi introduzida no Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmDataCreationDisposition

Ação a ser tomada se o item de dados já estiver no contêiner.

DkmDecompilerMode

Modos nos quais um módulo pode ser descompilado.

Essa API foi introduzida no Visual Studio 17 Atualização 7 (DkmApiVersion.VS17Update7).

DkmDispatcherObjectFlags

Sinalizadores internos que indicam o estado atual de um objeto dispatcher.

DkmDotnetVisualizerExtensionStyle

Indica como um visualizador deve ser exibido quando aberto.

Essa API foi introduzida no Visual Studio 17 Atualização 8 (DkmApiVersion.VS17Update8).

DkmDumpType

Tipo de despejo a ser salvo.

DkmEngineFlags

Sinalizadores que indicam características imutáveis dessas configurações do mecanismo.

DkmEventCode

Enumeração de todos os eventos que estão definidos atualmente nesta API.

DkmExceptionCode

Define os códigos HRESULT usados por essa API.

DkmFuncEvalAbortLoggingFlags

Sinalizadores para indicar que tipo de registro em log executar em uma anulação de avaliação func.

Essa API foi introduzida no Visual Studio 15 Atualização 4 (DkmApiVersion.VS15Update4).

DkmFuncEvalMode

Indica se há uma avaliação de função ocorrendo no processo de destino e se eventos de interrupção são permitidos para essa avaliação.

DkmInstructionAddress.Tag

DkmInstructionAddress é uma classe base abstrata. Essa enumeração indica de qual classe derivada esse objeto é uma instância do .

DkmLogLevel

Especifica a verbosidade de mensagens de registro em log adicionadas ao log de diagnóstico (DkmDiagnosticsLog). Para permitir a verificação trivial se um determinado nível de log está habilitado, isso é declarado como uma enumeração de sinalizador, mas com poucas exceções, se houver, as mensagens devem definir um único sinalizador.

Essa API foi introduzida no Visual Studio 17 Atualização 8 (DkmApiVersion.VS17Update8).

DkmMemoryTimeFlags

Enumeração que descreve o tempo que uma leitura de memória resolve em relação ao tempo de processo atual.

Essa API foi introduzida no Visual Studio 15 Atualização 8 (DkmApiVersion.VS15Update8).

DkmModuleFlags

Sinalizadores que indicam características de um DkmModuleInstance.

DkmModuleInstance.Tag

DkmModuleInstance é uma classe base abstrata. Essa enumeração indica de qual classe derivada esse objeto é uma instância do .

DkmModuleMemoryLayout

Enumeração que indica como um módulo é disposto na memória.

DkmProcessExecuteDirection

Indica a direção em que o processo está sendo executado.

Essa API foi introduzida no Visual Studio 15 Atualização 8 (DkmApiVersion.VS15Update8).

DkmProcessorArchitecture
DkmReadMemoryFlags

Sinalizadores que controlam o comportamento de DkmProcess.ReadMemory e DkmProcess.ReadMemoryString.

DkmRuntimeCapabilities

Enumeração de recursos de runtime.

Essa API foi introduzida no Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

DkmRuntimeInstance.Tag

DkmRuntimeInstance é uma classe base abstrata. Essa enumeração indica de qual classe derivada esse objeto é uma instância do .

DkmStoppingEventProcessingNextAction

Código de status retornado ao monitor de depuração base para indicar a próxima ação a ser tomada na interrupção do processamento de eventos.

DkmUserMessageOutputKind

Indica onde um DkmUserMessage deve ser gerado dentro do IDE do depurador.

DkmWaitUIOperationFlags

Sinalizadores para um DkmWaitUIOperation.

Essa API foi introduzida no Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

DkmWorkListExecutionThread

Argumento para DkmWorkList.BeginExecution para indicar onde os itens de trabalho na lista de trabalho devem ser executados.

DkmWorkListPriority

Classe de prioridade de listas de trabalho de Alta a Ociosa. @Note: deve ser mantido em sincronia com a definição gerenciada.

ExceptionConditionCallStackBehavior
ExceptionConditionOperator
ExceptionConditionType
GCReferenceType
MessageBoxFlags
MinidumpFlags

Delegados

DkmCompletionRoutine<TResult>

Função que é acionada quando uma solicitação assíncrona é concluída.

DkmWorkListCompletionRoutine

Função opcional que é acionada quando a lista de trabalho é concluída, incluindo o disparo de todas as rotinas de conclusão.

DkmWorkListProgressRoutine

Função opcional que é acionada quando o progresso da lista de trabalho é atualizado.