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 |
---|---|
Determina se um especificado pendentes do ponto de interrupção pode vincular a um local de código. |
|
Vincula um especificado pendentes do ponto de interrupção a um ou mais locais de código. |
|
Obtém o estado de um ponto de interrupção pendente. |
|
Obtém a solicitação do ponto de interrupção usada para criar um ponto de interrupção pendente. |
|
Alterna o estado ativado de um ponto de interrupção pendente. |
|
Enumera todos os pontos de interrupção vinculados a partir de um ponto de interrupção pendente. |
|
Enumera todos os pontos de interrupção de erro que resultam de um ponto de interrupção pendente. |
|
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 |
---|---|
Obtém o ponto de interrupção pendente que contém um ponto de interrupção. |
|
Obtém o estado de um ponto de interrupção acoplado. |
|
Obtém a resolução de ponto de interrupção que descreve um ponto de interrupção. |
|
Ativa ou desativa um ponto de interrupção. |
|
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 |
---|---|
Obtém o tipo do ponto de interrupção representado por uma resolução. |
|
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 |
---|---|
Obtém o ponto de interrupção pendente que contém um ponto de interrupção de erro. |
|
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 |
---|---|
Obtém o tipo de um ponto de interrupção. |
|
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.