Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Um mecanismo de depuração (DE) deve suportar a configuração de pontos de interrupção. A depuração do Visual Studio oferece suporte aos seguintes tipos de pontos de interrupção:
Encadernado
Solicitado através da interface do usuário e vinculado com êxito a um local de código especificado
Pendente
Solicitado através da interface do usuário, mas ainda não vinculado às instruções reais
Debate
Por exemplo, um ponto de interrupção pendente ocorre quando as instruções ainda não estão carregadas. Quando o código é carregado, os breakpoints pendentes tentam associar-se ao código no local prescrito, isto é, inserir instruções de quebra no código. Os eventos são enviados para o gerenciador de depuração de sessão (SDM) para indicar a vinculação bem-sucedida ou para notificar que houve erros de vinculação.
Um ponto de interrupção pendente também gerencia sua própria lista interna de pontos de interrupção vinculados correspondentes. Um ponto de interrupção pendente pode provocar a inserção de múltiplos pontos de interrupção no código. A interface do usuário de depuração do Visual Studio mostra uma exibição em árvore de pontos de interrupção pendentes e seus pontos de interrupção vinculados 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 de código. |
| Vincular | Liga um ponto de interrupção pendente especificado a uma ou mais localizações 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. |
| Enable | Alterna o estado ativado de um ponto de interrupção pendente. |
| EnumBoundBreakpoints | Enumera todos os pontos de interrupção associados a um ponto de interrupção pendente. |
| EnumErrorBreakpoints | Enumera todos os pontos de interrupção de erro resultantes de um ponto de interrupção pendente. |
| Eliminar | Exclui um ponto de interrupção pendente e todos os pontos de interrupção vinculados a ele. |
Para enumerar os pontos de interrupção vinculados e os pontos de interrupção de erro, é necessário implementar todos os métodos de IEnumDebugBoundBreakpoints2 e de IEnumDebugErrorBreakpoints2.
Pontos de interrupção pendentes que se vinculam a uma localização do 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 vinculado. |
| GetBreakpointResolution | Obtém a resolução do ponto de interrupção que descreve um ponto de interrupção. |
| Enable | Habilita ou desabilita um ponto de interrupção. |
| Eliminar | Exclui um ponto de interrupção vinculado. |
As informações de resolução e solicitação exigem a implementação dos seguintes métodos IDebugBreakpointResolution2 .
| Método | Description |
|---|---|
| ObterTipoDePontoDeInterrupção | Obtém o tipo do ponto de interrupção representado por uma resolução. |
| GetResolutionInfo | Obtém as informações de resolução do ponto de interrupção que descrevem um ponto de interrupção. |
A resolução de erros que podem ocorrer durante a vinculaçã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 de erro. |
| GetBreakpointResolution | Obtém a resolução de erro do ponto de interrupção que descreve um ponto de interrupção de erro. |
A resolução de erros que podem ocorrer durante a vinculaçã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. |
A exibição do código-fonte em um ponto de interrupção requer que você implemente os métodos de IDebugStackFrame2::GetDocumentContext e/ou os métodos de IDebugStackFrame2::GetCodeContext.