Partilhar via


Interfaces principais

As seguintes interfaces são interfaces principais para a extensão de depurador usando o SDK do Visual Studio.

Discussão

Essas interfaces são usadas principalmente para criar o mecanismo de depuração (DE). Elas estão organizadas aqui por categorias:

  • Pontos de interrupção

  • Contextos

  • Servidor núcleo

  • Mecanismos de depuração.

  • Documentos

  • Eventos

  • Expressões

  • Memória

  • Módulos

  • Portas

  • Processos

  • Programas

  • Propriedades

  • Quadros de pilha

  • Segmentos (Threads)

  • Visualizadores de tipo

As entidades que podem implementar as interfaces são:

  • Debug Engine (DE)

  • Fornecedor de porta (PS)

  • Avaliador de expressão (EE)

  • Visual Studio (VS)

Pontos de interrupção

Essas interfaces são relacionadas à implementação e acompanhamento de pontos de interrupção.

Interface

Implementado por

Descrição

IDebugBoundBreakpoint2

DE

Representa um ponto de interrupção acoplado a um local da memória.

IDebugBreakpointBoundEvent2

DE

Enviada por DE quando um ponto de interrupção é vinculado a um local da memória.

IDebugBreakpointChecksumRequest2

VS

Representa uma soma de verificação do documento para uma solicitação do ponto de interrupção.

IDebugBreakpointErrorEvent2

DE

Enviada por DE quando um ponto de interrupção não consegue ser vinculado a um local da memória.

IDebugBreakpointEvent2

DE

Enviada por DE quando um ponto de interrupção é atingido.

IDebugBreakpointRequest2

VS

Representa uma solicitação para um ponto de interrupção; usado na criação de um ponto de interrupção pendente.

IDebugBreakpointRequest3

VS

Representa uma solicitação para um ponto de interrupção; usado na criação de um ponto de interrupção pendente.

IDebugBreakpointResolution2

DE

Representa informações usadas para vincular a um ponto de interrupção.

IDebugBreakpointUnboundEvent2

DE

Enviada por DE quando um ponto de interrupção estiver acoplado a partir de um local de memória.

IDebugErrorBreakpoint2

DE

Representa um ponto de interrupção inválido (retornado por IDebugBreakpointErrorEvent2).

IDebugErrorBreakpointResolution2

DE

Representa as informações de resolução sobre um ponto de interrupção inválido.

IDebugFunctionPosition2

DE

Representa uma posição em uma função em que um ponto de interrupção está definido.

IDebugPendingBreakpoint2

DE

Representa um ponto de interrupção que será vinculado; usado na criação de um ponto de interrupção acoplado.

IEnumDebugBoundBreakpoints2

DE

Representa uma enumeração em um conjunto de pontos de interrupção acoplados.

IEnumDebugErrorBreakpoints2

DE

Representa uma enumeração em um conjunto de pontos de interrupção que não pôde ser ligado a um local de memória.

Contextos

Estas interfaces representam vários tipos de contextos dentro do programa que está sendo depurado.

Interface

Implementado por

Descrição

IDebugCodeContext2

DE

Representa a posição inicial de uma instrução de código.

IDebugCodeContext3

DE

Estende a IDebugCodeContext2 interface para permitir a recuperação de interfaces de módulo e o processo.

IDebugDocumentContext2

VS, DE

Representa uma posição em um documento.

IDebugExpressionContext2

DE

Representa o contexto no qual se avalia uma expressão.

IDebugMemoryContext2

DE

Representa o local inicial na memória de uma coleção de bytes.

IDebugStackFrame2

DE

Representa um contexto de quadro de pilha em um ponto de interrupção ou exceção.

IDebugStackFrame3

DE

Representa um contexto de quadro de pilha em um ponto de interrupção ou exceção.

IEnumDebugCodeContexts2

DE

Representa uma enumeração em um conjunto de contextos de código.

Servidor núcleo

Estas interfaces representam a máquina em que um programa está sendo depurado. Eles são implementados por Visual Studio , mas pode ser chamado pelos mecanismos de depuração.

Interface

Implementado por

Descrição

IDebugCoreServer2

VS

Fornece acesso a portas e os fornecedores de porta bem como informações sobre o computador.

IDebugCoreServer3

VS

Representa um IDebugCoreServer2 que ofereça suporte a depuração remota.

Mecanismos de depuração.

Estas interfaces representam os mecanismos de depuração e seus eventos associados.

Interface

Implementado por

Descrição

IDebugEngine2

DE

Representa um mecanismo de depuração personalizada.

IDebugEngine3

DE

Representa um mecanismo de depuração personalizada que oferece suporte ao carregamento de símbolos, JustMyCode e exceções.

IDebugEngineCreateEvent2

DE

Enviada por cada nova instância DE para indicar que ele está pronto para lidar com tarefas de depuração.

IDebugEngineLaunch2

DE

Representa um mecanismo de depuração personalizada que oferece suporte a programas de inicialização.

IDebugProgramEngines2

DE, PS

Representa um nó de programa que lida com vários mecanismos de depuração.

IDebugQueryEngine2

DE

Fornece uma maneira para o SDM para obter uma interface para o mecanismo de depuração de um segmento, o programa ou o quadro de pilha.

Documentos

Estas interfaces representam documentos (arquivos de origem) e seus elementos associados.

Interface

Implementado por

Descrição

IDebugActivateDocumentEvent2

DE

Enviada por DE solicitar um documento a ser aberto.

IDebugDisassemblyStream2

DE

Representa um fluxo de desmontado instruções de um documento.

IDebugDocument2

VS, DE

Representa um documento fornecido pelo DE, especificando um nome e uma classe (CLSID) de identificação.

IDebugDocumentChecksum2

DE, EE

Representa uma soma de verificação para um documento de depuração e permite a passagem a soma de verificação entre componentes.

IDebugDocumentContext2

VS, DE

Representa um contexto de documento, uma posição dentro de um documento correspondente a um determinado contexto de declaração e código.

IDebugDocumentPosition2

VS, DE

Representa uma posição geral dentro de um documento.

IDebugDocumentPositionOffset2

VS

Representa uma posição em um arquivo de origem como um deslocamento de caractere.

IDebugDocumentText2

VS, DE

Representa um documento de texto fornecido pelo DE (derivado de IDebugDocument2), fornecendo o texto real.

IDebugDocumentTextEvents2

DE

Enviada por DE para especificar alterações em um arquivo de origem que está na memória.

Eventos

Estas interfaces representam todos os eventos que são enviados entre DE e o Gerenciador de sessão de depuração (SDM).

Interface

Implementado por

Descrição

IDebugActivateDocumentEvent2

DE

Enviada por DE solicitar um documento a ser aberto.

IDebugBeforeSymbolSearchEvent2

DE

O mecanismo de depuração (DE) envia esta interface para o Gerenciador de sessão de depuração (SDM) para definir o status da barra de mensagem durante cargas de símbolo.

IDebugBreakEvent2

DE

Enviada por DE quando uma quebra no programa foi concluída.

IDebugBreakpointBoundEvent2

DE

Enviada por DE quando um ponto de interrupção está ligado.

IDebugBreakpointErrorEvent2

DE

Enviada por DE quando um ponto de interrupção de falha deve ser vinculado.

IDebugBreakpointEvent2

DE

Enviada por DE quando um ponto de interrupção é atingido.

IDebugBreakpointUnboundEvent2

DE

Enviada por DE quando um ponto de interrupção não está vinculado.

IDebugCanStopEvent2

DE

Enviada por DE para determinar se ele deve parar em um local específico.

IDebugDocumentTextEvents2

DE

Enviada por DE para especificar alterações em um arquivo de origem que está na memória.

IDebugEngineCreateEvent2

DE

Enviada por cada nova instância DE para indicar que ele está pronto para lidar com tarefas de depuração.

IDebugEntryPointEvent2

DE

Enviada por DE para indicar o programa que está sendo depurado está pronto para executar a primeira instrução.

IDebugErrorEvent2

DE

Uma interface que é usada por outras interfaces de evento, que podem retornar um erro, para fornecer mensagens de erro legível.

IDebugEvent2

DE, PS

Interface base da qual todos os outros eventos interfaces são derivadas.

IDebugEventCallback2

VS

Representa uma interface implementada pelo SDM para o qual os eventos (expressos como objetos que implementam uma interface de evento em particular) são enviados.

IDebugExceptionEvent2

DE

Enviada por DE quando ocorreu uma exceção no programa que está sendo depurado.

IDebugExpressionEvaluationCompleteEvent2

DE

Enviada por DE quando uma avaliação de expressão assíncrona for concluída.

IDebugFindSymbolEvent2

 

OBSOLETO. NÃO USE.

IDebugInterceptExceptionCompleteEvent2

DE

Enviada por DE quando o processamento para uma exceção interceptado foi concluído.

IDebugLoadCompleteEvent2

DE

Enviada por DE quando um programa for carregado.

IDebugMessageEvent2

DE

Enviada por ter a exibição IDE DE uma mensagem informativa para o usuário.

IDebugModuleLoadEvent2

DE

Enviada por DE quando um módulo é carregado ou descarregado.

IDebugNoSymbolsEvent2

DE

Sinais de Visual Studio interface do usuário para avisar o usuário que os símbolos não podem ser localizados para o executável iniciado do depurador.

IDebugOutputStringEvent2

DE

Enviado por ter a exibição IDE DE uma seqüência arbitrária.

IDebugPortEvents2

VS, DE

Enviada por uma porta para se comunicar eventos da porta a qualquer ouvinte.

IDebugProcessCreateEvent2

DE, PS

Enviada pela porta ou DE quando um processo foi criado.

IDebugProcessDestroyEvent2

DE, PS

Enviada pela porta ou DE quando um processo foi destruído.

IDebugProgramCreateEvent2

DE, PS

Enviada pela porta ou DE quando um programa tiver sido criado.

IDebugProgramDestroyEvent2

DE, PS

Enviada pela porta ou DE quando um programa tiver sido destruído.

IDebugProgramDestroyEventFlags2

DE

Permite que um mecanismo de depuração substituir o comportamento padrão da Visual Studio interface do usuário quando você encerra uma sessão de depuração.

IDebugProgramNameChangedEvent2

DE

Enviada do mecanismo de depuração (DE) para o Gerenciador de sessão de depuração (SDM) quando o nome de um programa é alterado.

IDebugPropertyCreateEvent2

DE

Enviado por DE quando uma nova propriedade (representado pela IDebugProperty2 interface) foi criado.

IDebugPropertyDestroyEvent2

DE

Enviada por DE quando uma propriedade tiver sido destruída.

IDebugReturnValueEvent2

DE

Enviada por DE quando stepping insuficiente ou através de uma função para que o valor de retorno pode ser exibido corretamente.

IDebugSettingsCallback2

VS

Permite que mecanismos de ler as configurações de métricas de depurar remotamente.

IDebugStepCompleteEvent2

DE

Enviada por DE quando uma etapa em, acima ou fora de uma instrução foi concluída.

IDebugSymbolSearchEvent2

DE

Enviada por DE para indicar o sucesso ou fracasso de símbolos para um módulo de carregamento.

IDebugThreadCreateEvent2

DE

Enviada por DE quando um thread foi criado.

IDebugThreadDestroyEvent2

DE

Enviada por DE quando um segmento foi destruído.

IDebugThreadNameChangedEvent2

DE

Enviada por DE quando um thread mudou seu nome.

Expressões

Estas interfaces representam expressões sejam avaliadas em um contexto específico.

Interface

Implementado por

Descrição

IDebugExpression2

DE

Representa uma expressão a ser avaliada. Obtido o IDebugExpressionContext2 interface.

IDebugExpressionContext2

DE

Representa um contexto em que uma expressão é avaliada. Obtido o IDebugStackFrame2 interface.

IDebugExpressionEvaluationCompleteEvent2

DE

Enviada por DE quando uma avaliação de expressão assíncrona for concluída.

Memória

Estas interfaces representam seqüências de bytes na memória.

Interface

Implementado por

Descrição

IDebugMemoryBytes2

DE

Representa uma seqüência de bytes na memória que pode ser lido ou gravado.

IDebugMemoryContext2

DE

Representa um local na memória de uma seqüência de bytes.

Módulos

Estas interfaces representam um módulo, que corresponde a um arquivo executável ou.Arquivo DLL.

Interface

Implementado por

Descrição

IDebugModule2

DE

Representa um único executável ou DLL.

IDebugModule3

DE

Representa um IDebugModule2 que ofereça suporte a símbolos.

IDebugModuleLoadEvent2

DE

Enviada por DE quando um módulo é carregado ou descarregado.

IDebugSourceServerModule

DE

Representa as informações do servidor de origem que estão contidas em um arquivo PDB.

IEnumDebugModules2

DE

Representa uma enumeração em relação a um conjunto de módulos que são conhecidos por um IDebugProgram2.

Portas

Estas interfaces representam as portas e os fornecedores de porta.

Interface

Implementado por

Descrição

IDebugDefaultPort2

VS, PS

Representa a porta padrão no computador local.

IDebugFirewallConfigurationCallback2

VS

Permite que um mecanismo de depuração que usa o DCOM para perguntar a Visual Studio interface do usuário para certificar-se de que o firewall não bloqueará a depuração remota.

IDebugPort2

VS, PS

Representa uma porta.

IDebugPortEvents2

PS

Enviada por uma porta para se comunicar eventos da porta a qualquer ouvinte.

IDebugPortEx2

PS

Representa uma porta que pode iniciar e encerrar processos.

IDebugPortNotify2

PS

Usado para registrar e cancelar o registro de programas com uma porta; permite que a porta controlar os programas sendo atualmente depurados.

IDebugPortPicker

PS

Representa uma interface do usuário personalizada para selecionar a porta.

IDebugPortRequest2

VS

Representa uma solicitação para uma porta a partir do qual uma nova porta será criada ou localizada.

IDebugPortSupplier2

PS

Representa um fornecedor de portas.

IDebugPortSupplier3

PS

Representa um fornecedor de portas pode persistir (Salvar em disco) informações sobre as portas que ele criou.

IDebugPortSupplierDescription2

PS

Permite que o Visual Studio interface do usuário para exibir o texto dentro o Informações de transporte seção a Attach to Process caixa de diálogo.

IDebugWindowsComputerPort2

VS

Permite a consulta para obter informações sobre o computador de destino.

IEnumDebugPorts2

VS, PS

Representa uma enumeração em um conjunto de portas.

IEnumDebugPortSuppliers2

VS

Representa uma enumeração em um conjunto de fornecedores de porta.

Processos

Estas interfaces representam processos, um único executável que contém um ou mais programas.

Interface

Implementado por

Descrição

IDebugProcess2

PS, DE

Representa um processo que está sendo executado em um computador.

IDebugProcess3

PS, DE

Representa um processo ativamente com suporte para depuração (usado para substituir a etapa, continuar e executar métodos na IDebugProgram2 interface).

IDebugProcessCreateEvent2

DE, PS

Enviada pela porta ou DE quando um processo foi criado.

IDebugProcessDestroyEvent2

DE, PS

Enviada pela porta ou DE quando um processo foi destruído.

IDebugProcessEx2

PS

Representa um processo que deve controlar qual sessão anexado a ele.

IEnumDebugProcesses2

PS

Representa uma enumeração de um conjunto de processos em uma porta.

Programas

Estas interfaces representam programas, unidades lógicas de execução que não necessariamente correspondem a um módulo ou executável físico.

Interface

Implementado por

Descrição

IDebugEngineProgram2

DE

Representa um IDebugProgram2 que precisa para trabalhar em conjunto com outros programas que está sendo depurados ao mesmo tempo.

IDebugProgram2

DE, PS

Representa uma unidade lógica de execução.

IDebugProgramCreateEvent2

DE, PS

Enviada pela porta ou DE quando um programa tiver sido criado.

IDebugProgramDestroyEvent2

DE, PS

Enviada pela porta ou DE quando um programa tiver sido destruído.

IDebugProgramEngines2

DE, PS

Representa um IDebugProgramNode2 que podem ser tratadas por vários mecanismos de depuração.

IDebugProgramEx2

PS

Representa um IDebugProgram2 que deve ser capaz de controlar qual sessão anexado a ele.

IDebugProgramHost2

DE, PS

Representa um IDebugProgram2 que pode retornar informações sobre o processo no qual ele está sendo executado.

IDebugProgramNode2

DE, PS

Representa um programa que pode ser depurado.

IDebugProgramNodeAttach2

DE, PS

Permite que um nó de programa ser notificado de uma tentativa de anexar o programa associado.

IDebugProgramProvider2

DE

Fornece uma maneira para o SDM consultar um DE sobre os programas controlado por aquele DE.

IDebugProgramPublisher2

VS

Usado pelo DEs para registrar programas com o SDM para mostrar que está sendo depurados.

IDebugProviderProgramNode2

DE, PS

Representa um IDebugProgramNode2 que pode empacotar interfaces através de limites de processo ou segmento.

IEnumDebugPrograms2

DE, PS

Representa uma enumeração de um conjunto de programas.

Propriedades

Estas interfaces representam propriedades, um valor associado a um contexto específico, geralmente o resultado de uma avaliação de expressão.

Interface

Implementado por

Descrição

IDebugCustomViewer

EE

Representa um IDebugProperty2 que pode exibir seu valor de uma maneira personalizada.

IDebugProperty2

DE

Representa um valor de um quadro de pilha, documento ou o resultado de uma avaliação de expressão.

IDebugProperty3

DE

Representa um IDebugProperty2 que ofereça suporte a seqüências de caracteres longas arbitrariamente.

IDebugPropertyCreateEvent2

DE

Enviado por DE quando uma nova propriedade (representado pela IDebugProperty2 interface) foi criado.

IDebugPropertyDestroyEvent2

DE

Enviada por DE quando uma propriedade tiver sido destruída.

IDebugReference2

DE

Representa uma referência a uma propriedade que pode existir fora de qualquer quadro de pilha específico.

IEnumDebugPropertyInfo2

DE

Representa uma enumeração sobre um conjunto de DEBUG_PROPERTY_INFO estruturas que descrevem as variáveis, registradores, parâmetros e expressões.

IEnumDebugReferenceInfo2

DE

Representa uma enumeração sobre um conjunto de DEBUG_REFERENCE_INFO estruturas.

Quadros de pilha

Estas interfaces representam um quadro de pilha, um contexto no qual um ponto de interrupção ou exceção ocorreu.

Interface

Implementado por

Descrição

IDebugStackFrame2

DE

Representa um contexto no qual um ponto de interrupção ou exceção ocorreu.

IDebugStackFrame3

DE

Representa um IDebugStackFrame2 que pode lidar com exceções de interceptados.

IEnumCodePaths2

DE

Representa uma enumeração sobre o conjunto de CODE_PATH estruturas que especificam a função chamada seqüência usada para chegar a um quadro de pilha específico.

IEnumDebugFrameInfo2

DE

Representa uma enumeração sobre um conjunto de FRAMEINFO estruturas, que descrevem os quadros de pilha.

Segmentos (Threads)

Estas interfaces representam os segmentos e seus eventos associados.

Interface

Implementado por

Descrição

IDebugThread2

DE

Representa um segmento de execução.

IDebugThreadCreateEvent2

DE

Enviada por DE quando um thread foi criado.

IDebugThreadDestroyEvent2

DE

Enviada por DE quando um segmento foi destruído.

IDebugThreadNameChangedEvent2

DE

Enviada por DE quando um thread mudou seu nome.

IEnumDebugThreads2

DE

Representa uma enumeração em um conjunto de threads.

Visualizadores de tipo

Essas interfaces fornecem suporte para visualizadores de tipo. Essas interfaces são geralmente implementadas por um avaliador de expressão.

Interface

Implementado por

Descrição

IEEDataStorage

EE

Representa uma matriz de bytes a serem apresentados a um visualizador de tipo.

IPropertyProxyEESide

EE

Fornece métodos para obter acesso aos dados a serem passados para um visualizador de tipo.

IPropertyProxyProvider

EE

Representa uma propriedade que fornece acesso a IPropertyProxyEESide implementações.

Consulte também

Referência

Referência de API (Visual Studio depuração)

Outros recursos

Criando um mecanismo de depuração personalizada