Partilhar via


Métodos relacionados a ponto de interrupção

Um mecanismo de depuração (DE) deve oferecer suporte a configuração de pontos de interrupção. Depuração de Visual Studio suporta os seguintes tipos de pontos de interrupção:

  • Acoplado

    Solicitado através da interface do usuário e vinculado com êxito em um local de código especificada

  • Pending

    Solicitado por meio da interface do usuário mas instruções não tiver sido vinculadas ainda ao real

Discussão

Por exemplo, um ponto de interrupção pendente ocorre quando as instruções ainda não são carregadas. Quando o código é carregado, pendente try pontos de interrupção para vincular ao código no local a prescrito, ou seja, para inserir instruções de interrupção no código. Eventos são enviados para o Gerenciador de sessão de depuração (SDM) para indicar a ligação bem-sucedida ou para notificar que houve erros de ligação.

Um ponto de interrupção pendente também gerencia sua própria lista interna de pontos de interrupção acoplados correspondentes. Uma pendente do ponto de interrupção pode causar a inserção de muitos pontos de interrupção no código. O Visual Studio da interface do usuário de depuração mostra uma exibição de árvore de pendentes pontos de interrupção e seus correspondentes vinculado a pontos de interrupção.

Criação e uso de pendentes breakpoints exigem a implementação da IDebugEngine2::CreatePendingBreakpoint método, como também os seguintes métodos de IDebugPendingBreakpoint2 interfaces.

Método

Descrição

CanBind

Determina se um especificado pendentes do ponto de interrupção pode vincular a um local de código.

Vincular

Vincula um especificado pendentes do ponto de interrupção a um ou mais locais de código.

GetState

Obtém o estado de um ponto de interrupção pendente.

GetBreakpointRequest

Obtém a solicitação do ponto de interrupção usada para criar um ponto de interrupção pendente.

Habilitar

Alterna o estado ativado de um ponto de interrupção pendente.

EnumBoundBreakpoints

Enumera todos os pontos de interrupção vinculados a partir de um ponto de interrupção pendente.

EnumErrorBreakpoints

Enumera todos os pontos de interrupção de erro que resultam de um ponto de interrupção pendente.

Excluir

Exclui um ponto de interrupção pendente e todos os pontos de interrupção acoplados a partir dele.

Para enumerar os pontos de interrupção acoplados e pontos de interrupção de erro, você deve implementar todos os métodos de IEnumDebugBoundBreakpoints2 e de IEnumDebugErrorBreakpoints2.

Pendente pontos de interrupção que vincular a um código local exigem a implementação das seguintes IDebugBoundBreakpoint2 métodos.

Método

Descrição

GetPendingBreakpoint

Obtém o ponto de interrupção pendente que contém um ponto de interrupção.

GetState

Obtém o estado de um ponto de interrupção acoplado.

GetBreakpointResolution

Obtém a resolução de ponto de interrupção que descreve um ponto de interrupção.

Habilitar

Ativa ou desativa um ponto de interrupção.

Excluir

Exclui um ponto de interrupção acoplado.

Resolução e solicitação de informações exigem a implementação das seguintes IDebugBreakpointResolution2 métodos.

Método

Descrição

GetBreakpointType

Obtém o tipo do ponto de interrupção representado por uma resolução.

GetResolutionInfo

Obtém as informações de resolução de ponto de interrupção que descrevem um ponto de interrupção.

Resolução de erros que possam ocorrer durante a vinculação requer a implementação das seguintes IDebugErrorBreakpoint2 métodos.

Método

Descrição

GetPendingBreakpoint

Obtém o ponto de interrupção pendente que contém um ponto de interrupção de erro.

GetBreakpointResolution

Obtém a resolução de erro de ponto de interrupção que descreve um ponto de interrupção de erro.

Resolução de erros que possam ocorrer durante a vinculação também requer os seguintes métodos de IDebugErrorBreakpointResolution2.

Método

Descrição

GetBreakpointType

Obtém o tipo de um ponto de interrupção.

GetResolutionInfo

Obtém as informações de resolução de um ponto de interrupção.

Exibir o código-fonte em um ponto de interrupção requer que você implementar os métodos de IDebugStackFrame2::GetDocumentContext e/ou os métodos de IDebugStackFrame2::GetCodeContext.

Consulte também

Conceitos

Controle de execução e a avaliação de estado