Partilhar via


IDebugEngine2::CreatePendingBreakpoint

Cria um ponto de interrupção pendente no mecanismo de depuração (DE).

HRESULT CreatePendingBreakpoint( 
   IDebugBreakpointRequest2*  pBPRequest,
   IDebugPendingBreakpoint2** ppPendingBP
);
int CreatePendingBreakpoint( 
   IDebugBreakpointRequest2     pBPRequest,
   out IDebugPendingBreakpoint2 ppPendingBP
);

Parâmetros

Valor de retorno

Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro. Normalmente retorna E_FAIL se a pBPRequest parâmetro não corresponde a qualquer idioma suportado pelo DE que o pBPRequest parâmetro é inválido ou incompleto.

Comentários

Um ponto de interrupção pendente é essencialmente uma coleção de todas as informações necessárias para vincular a um ponto de interrupção ao código. O ponto de interrupção pendente retornado deste método não está vinculado ao código até o IDebugPendingBreakpoint2::Bind método é chamado.

Para cada pendentes do ponto de interrupção conjuntos do usuário, o Gerenciador de sessão de depuração (SDM) chama esse método em cada DE anexado. Ele é o DE verificar se o ponto de interrupção é válido para os programas em execução em que DE.

Quando o usuário define um ponto de interrupção em uma linha de código, o DE é livre para vincular o ponto de interrupção para a linha mais próxima do documento que corresponde a este código. Isso possibilita ao usuário definir um ponto de interrupção na primeira linha de uma instrução de várias linhas, mas acoplá-lo na última linha (onde todo o código é atribuído nas informações de depuração).

Exemplo

O exemplo a seguir mostra como implementar este método para um simples CProgram objeto. Implementação da IDebugEngine2::CreatePendingBreakpoint , em seguida, poderia encaminhar todas as chamadas para esta implementação do método em cada programa.

HRESULT CProgram::CreatePendingBreakpoint(IDebugBreakpointRequest2* pBPRequest, IDebugPendingBreakpoint2** ppPendingBP)   
{  
     
   // Create and initialize the CPendingBreakpoint object.
   CComObject<CPendingBreakpoint> *pPending;  
   CComObject<CPendingBreakpoint>::CreateInstance(&pPending);  
   pPending->Initialize(pBPRequest, m_pInterp, m_pCallback, m_pEngine);  
   return pPending->QueryInterface(ppPendingBP);  
}  

Consulte também

Referência

IDebugEngine2

IDebugPendingBreakpoint2::Bind

IDebugBreakpointRequest2

IDebugPendingBreakpoint2