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 |
---|---|---|
DE |
Representa um ponto de interrupção acoplado a um local da memória. |
|
DE |
Enviada por DE quando um ponto de interrupção é vinculado a um local da memória. |
|
VS |
Representa uma soma de verificação do documento para uma solicitação do ponto de interrupção. |
|
DE |
Enviada por DE quando um ponto de interrupção não consegue ser vinculado a um local da memória. |
|
DE |
Enviada por DE quando um ponto de interrupção é atingido. |
|
VS |
Representa uma solicitação para um ponto de interrupção; usado na criação de um ponto de interrupção pendente. |
|
VS |
Representa uma solicitação para um ponto de interrupção; usado na criação de um ponto de interrupção pendente. |
|
DE |
Representa informações usadas para vincular a um ponto de interrupção. |
|
DE |
Enviada por DE quando um ponto de interrupção estiver acoplado a partir de um local de memória. |
|
DE |
Representa um ponto de interrupção inválido (retornado por IDebugBreakpointErrorEvent2). |
|
DE |
Representa as informações de resolução sobre um ponto de interrupção inválido. |
|
DE |
Representa uma posição em uma função em que um ponto de interrupção está definido. |
|
DE |
Representa um ponto de interrupção que será vinculado; usado na criação de um ponto de interrupção acoplado. |
|
DE |
Representa uma enumeração em um conjunto de pontos de interrupção acoplados. |
|
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 |
---|---|---|
DE |
Representa a posição inicial de uma instrução de código. |
|
DE |
Estende a IDebugCodeContext2 interface para permitir a recuperação de interfaces de módulo e o processo. |
|
VS, DE |
Representa uma posição em um documento. |
|
DE |
Representa o contexto no qual se avalia uma expressão. |
|
DE |
Representa o local inicial na memória de uma coleção de bytes. |
|
DE |
Representa um contexto de quadro de pilha em um ponto de interrupção ou exceção. |
|
DE |
Representa um contexto de quadro de pilha em um ponto de interrupção ou exceção. |
|
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 |
---|---|---|
VS |
Fornece acesso a portas e os fornecedores de porta bem como informações sobre o computador. |
|
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 |
---|---|---|
DE |
Representa um mecanismo de depuração personalizada. |
|
DE |
Representa um mecanismo de depuração personalizada que oferece suporte ao carregamento de símbolos, JustMyCode e exceções. |
|
DE |
Enviada por cada nova instância DE para indicar que ele está pronto para lidar com tarefas de depuração. |
|
DE |
Representa um mecanismo de depuração personalizada que oferece suporte a programas de inicialização. |
|
DE, PS |
Representa um nó de programa que lida com vários mecanismos de depuração. |
|
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 |
---|---|---|
DE |
Enviada por DE solicitar um documento a ser aberto. |
|
DE |
Representa um fluxo de desmontado instruções de um documento. |
|
VS, DE |
Representa um documento fornecido pelo DE, especificando um nome e uma classe (CLSID) de identificação. |
|
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. |
|
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. |
|
VS, DE |
Representa uma posição geral dentro de um documento. |
|
VS |
Representa uma posição em um arquivo de origem como um deslocamento de caractere. |
|
VS, DE |
Representa um documento de texto fornecido pelo DE (derivado de IDebugDocument2), fornecendo o texto real. |
|
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 |
---|---|---|
DE |
Enviada por DE solicitar um documento a ser aberto. |
|
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. |
|
DE |
Enviada por DE quando uma quebra no programa foi concluída. |
|
DE |
Enviada por DE quando um ponto de interrupção está ligado. |
|
DE |
Enviada por DE quando um ponto de interrupção de falha deve ser vinculado. |
|
DE |
Enviada por DE quando um ponto de interrupção é atingido. |
|
DE |
Enviada por DE quando um ponto de interrupção não está vinculado. |
|
DE |
Enviada por DE para determinar se ele deve parar em um local específico. |
|
DE |
Enviada por DE para especificar alterações em um arquivo de origem que está na memória. |
|
DE |
Enviada por cada nova instância DE para indicar que ele está pronto para lidar com tarefas de depuração. |
|
DE |
Enviada por DE para indicar o programa que está sendo depurado está pronto para executar a primeira instrução. |
|
DE |
Uma interface que é usada por outras interfaces de evento, que podem retornar um erro, para fornecer mensagens de erro legível. |
|
DE, PS |
Interface base da qual todos os outros eventos interfaces são derivadas. |
|
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. |
|
DE |
Enviada por DE quando ocorreu uma exceção no programa que está sendo depurado. |
|
DE |
Enviada por DE quando uma avaliação de expressão assíncrona for concluída. |
|
IDebugFindSymbolEvent2 |
|
OBSOLETO. NÃO USE. |
DE |
Enviada por DE quando o processamento para uma exceção interceptado foi concluído. |
|
DE |
Enviada por DE quando um programa for carregado. |
|
DE |
Enviada por ter a exibição IDE DE uma mensagem informativa para o usuário. |
|
DE |
Enviada por DE quando um módulo é carregado ou descarregado. |
|
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. |
|
DE |
Enviado por ter a exibição IDE DE uma seqüência arbitrária. |
|
VS, DE |
Enviada por uma porta para se comunicar eventos da porta a qualquer ouvinte. |
|
DE, PS |
Enviada pela porta ou DE quando um processo foi criado. |
|
DE, PS |
Enviada pela porta ou DE quando um processo foi destruído. |
|
DE, PS |
Enviada pela porta ou DE quando um programa tiver sido criado. |
|
DE, PS |
Enviada pela porta ou DE quando um programa tiver sido destruído. |
|
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. |
|
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. |
|
DE |
Enviado por DE quando uma nova propriedade (representado pela IDebugProperty2 interface) foi criado. |
|
DE |
Enviada por DE quando uma propriedade tiver sido destruída. |
|
DE |
Enviada por DE quando stepping insuficiente ou através de uma função para que o valor de retorno pode ser exibido corretamente. |
|
VS |
Permite que mecanismos de ler as configurações de métricas de depurar remotamente. |
|
DE |
Enviada por DE quando uma etapa em, acima ou fora de uma instrução foi concluída. |
|
DE |
Enviada por DE para indicar o sucesso ou fracasso de símbolos para um módulo de carregamento. |
|
DE |
Enviada por DE quando um thread foi criado. |
|
DE |
Enviada por DE quando um segmento foi destruído. |
|
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 |
---|---|---|
DE |
Representa uma expressão a ser avaliada. Obtido o IDebugExpressionContext2 interface. |
|
DE |
Representa um contexto em que uma expressão é avaliada. Obtido o IDebugStackFrame2 interface. |
|
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 |
---|---|---|
DE |
Representa uma seqüência de bytes na memória que pode ser lido ou gravado. |
|
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 |
---|---|---|
DE |
Representa um único executável ou DLL. |
|
DE |
Representa um IDebugModule2 que ofereça suporte a símbolos. |
|
DE |
Enviada por DE quando um módulo é carregado ou descarregado. |
|
DE |
Representa as informações do servidor de origem que estão contidas em um arquivo PDB. |
|
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 |
---|---|---|
VS, PS |
Representa a porta padrão no computador local. |
|
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. |
|
VS, PS |
Representa uma porta. |
|
PS |
Enviada por uma porta para se comunicar eventos da porta a qualquer ouvinte. |
|
PS |
Representa uma porta que pode iniciar e encerrar processos. |
|
PS |
Usado para registrar e cancelar o registro de programas com uma porta; permite que a porta controlar os programas sendo atualmente depurados. |
|
PS |
Representa uma interface do usuário personalizada para selecionar a porta. |
|
VS |
Representa uma solicitação para uma porta a partir do qual uma nova porta será criada ou localizada. |
|
PS |
Representa um fornecedor de portas. |
|
PS |
Representa um fornecedor de portas pode persistir (Salvar em disco) informações sobre as portas que ele criou. |
|
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. |
|
VS |
Permite a consulta para obter informações sobre o computador de destino. |
|
VS, PS |
Representa uma enumeração em um conjunto de portas. |
|
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 |
---|---|---|
PS, DE |
Representa um processo que está sendo executado em um computador. |
|
PS, DE |
Representa um processo ativamente com suporte para depuração (usado para substituir a etapa, continuar e executar métodos na IDebugProgram2 interface). |
|
DE, PS |
Enviada pela porta ou DE quando um processo foi criado. |
|
DE, PS |
Enviada pela porta ou DE quando um processo foi destruído. |
|
PS |
Representa um processo que deve controlar qual sessão anexado a ele. |
|
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 |
---|---|---|
DE |
Representa um IDebugProgram2 que precisa para trabalhar em conjunto com outros programas que está sendo depurados ao mesmo tempo. |
|
DE, PS |
Representa uma unidade lógica de execução. |
|
DE, PS |
Enviada pela porta ou DE quando um programa tiver sido criado. |
|
DE, PS |
Enviada pela porta ou DE quando um programa tiver sido destruído. |
|
DE, PS |
Representa um IDebugProgramNode2 que podem ser tratadas por vários mecanismos de depuração. |
|
PS |
Representa um IDebugProgram2 que deve ser capaz de controlar qual sessão anexado a ele. |
|
DE, PS |
Representa um IDebugProgram2 que pode retornar informações sobre o processo no qual ele está sendo executado. |
|
DE, PS |
Representa um programa que pode ser depurado. |
|
DE, PS |
Permite que um nó de programa ser notificado de uma tentativa de anexar o programa associado. |
|
DE |
Fornece uma maneira para o SDM consultar um DE sobre os programas controlado por aquele DE. |
|
VS |
Usado pelo DEs para registrar programas com o SDM para mostrar que está sendo depurados. |
|
DE, PS |
Representa um IDebugProgramNode2 que pode empacotar interfaces através de limites de processo ou segmento. |
|
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 |
---|---|---|
EE |
Representa um IDebugProperty2 que pode exibir seu valor de uma maneira personalizada. |
|
DE |
Representa um valor de um quadro de pilha, documento ou o resultado de uma avaliação de expressão. |
|
DE |
Representa um IDebugProperty2 que ofereça suporte a seqüências de caracteres longas arbitrariamente. |
|
DE |
Enviado por DE quando uma nova propriedade (representado pela IDebugProperty2 interface) foi criado. |
|
DE |
Enviada por DE quando uma propriedade tiver sido destruída. |
|
DE |
Representa uma referência a uma propriedade que pode existir fora de qualquer quadro de pilha específico. |
|
DE |
Representa uma enumeração sobre um conjunto de DEBUG_PROPERTY_INFO estruturas que descrevem as variáveis, registradores, parâmetros e expressões. |
|
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 |
---|---|---|
DE |
Representa um contexto no qual um ponto de interrupção ou exceção ocorreu. |
|
DE |
Representa um IDebugStackFrame2 que pode lidar com exceções de interceptados. |
|
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. |
|
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 |
---|---|---|
DE |
Representa um segmento de execução. |
|
DE |
Enviada por DE quando um thread foi criado. |
|
DE |
Enviada por DE quando um segmento foi destruído. |
|
DE |
Enviada por DE quando um thread mudou seu nome. |
|
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 |
---|---|---|
EE |
Representa uma matriz de bytes a serem apresentados a um visualizador de tipo. |
|
EE |
Fornece métodos para obter acesso aos dados a serem passados para um visualizador de tipo. |
|
EE |
Representa uma propriedade que fornece acesso a IPropertyProxyEESide implementações. |
Consulte também
Referência
Referência de API (Visual Studio depuração)