Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um DE (mecanismo de depuração) deve dar suporte à configuração de pontos de interrupção. A depuração do Visual Studio dá suporte aos seguintes tipos de pontos de interrupção:
Limite
Solicitado por meio da interface do usuário e associado com êxito a um local de código especificado
Pendente
Solicitado por meio da interface do usuário, mas ainda não associado a instruções reais
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, os pontos de interrupção pendentes tentam associar-se ao código no local prescrito, com o objetivo de inserir instruções de quebra no código. Os eventos são enviados para o SDM (gerenciador de depuração de sessão) para indicar uma associação bem-sucedida ou para notificar que houve erros de associação.
Um ponto de interrupção pendente também gerencia sua própria lista interna de pontos de interrupção associados correspondentes. Um ponto de interrupção pendente pode causar a inserção de muitos pontos de interrupção no código. A interface do usuário de depuração do Visual Studio mostra uma exibição de árvore de pontos de interrupção pendentes e seus pontos de interrupção associados correspondentes.
A criação e o uso de pontos de interrupção pendentes exigem a implementação do método IDebugEngine2::CreatePendingBreakpoint , bem como os seguintes métodos de interfaces IDebugPendingBreakpoint2 .
| Método | Description |
|---|---|
| CanBind | Determina se um ponto de interrupção pendente especificado pode ser associado a uma localização do código. |
| Ligar | Associa um ponto de interrupção pendente especificado a um ou mais locais específicos de código. |
| GetState | Obtém o estado de um ponto de interrupção pendente. |
| GetBreakpointRequest | Obtém a solicitação de ponto de interrupção usada para criar um ponto de interrupção pendente. |
| Habilitar | Alterna o estado habilitado de um ponto de interrupção pendente. |
| EnumBoundBreakpoints | Enumera todos os pontos de interrupção associados a partir de um ponto de interrupção pendente. |
| EnumErrorBreakpoints | Enumera todos os pontos de interrupção de erro resultantes de um ponto de interrupção pendente. |
| excluir | Exclui um ponto de interrupção pendente e todos os pontos de interrupção associados a ele. |
Para enumerar os pontos de interrupção associados e os pontos de interrupção de erro, você deve implementar todos os métodos de IEnumDebugBoundBreakpoints2 e IEnumDebugErrorBreakpoints2.
Pontos de interrupção pendentes que se vinculam a um local de código exigem a implementação dos seguintes métodos IDebugBoundBreakpoint2.
| Método | Description |
|---|---|
| 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 associado. |
| GetBreakpointResolution | Obtém a resolução do ponto de interrupção que descreve um ponto de interrupção. |
| Habilitar | Habilita ou desabilita um ponto de interrupção. |
| excluir | Exclui um ponto de interrupção associado. |
As informações de solicitação e resolução exigem a implementação dos seguintes métodos IDebugBreakpointResolution2.
| Método | Description |
|---|---|
| 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. |
A resolução de erros que podem ocorrer durante a associação requer a implementação dos seguintes métodos IDebugErrorBreakpoint2 .
| Método | Description |
|---|---|
| GetPendingBreakpoint | Obtém o ponto de interrupção pendente que contém um ponto de interrupção com erro. |
| GetBreakpointResolution | Obtém a resolução de erros do ponto de interrupção que descreve um ponto de interrupção de erro. |
A resolução de erros que podem ocorrer durante a associação também requer os seguintes métodos de IDebugErrorBreakpointResolution2.
| Método | Description |
|---|---|
| GetBreakpointType | Obtém o tipo de 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 exige que você implemente os métodos de IDebugStackFrame2::GetDocumentContext e/ou os métodos de IDebugStackFrame2::GetCodeContext.