Partilhar via


IDebugPendingBreakpoint2::Virtualize

Alterna o estado virtualizado isso pendentes do ponto de interrupção. Quando um ponto de interrupção pendente é virtualizado, o mecanismo de depuração tentará acoplá-lo sempre que o novo código é carregado no programa.

HRESULT Virtualize( 
   BOOL fVirtualize
);
int Virtualize( 
   int fVirtualize
);

Parâmetros

  • fVirtualize
    [in] Definir como diferente de zero (TRUE) para virtualizar o ponto de interrupção pendente ou a zero (FALSE) para desativar a virtualização.

Valor de retorno

Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro. Retorna E_BP_DELETED se o ponto de interrupção foi excluído.

Comentários

Um ponto de interrupção virtualizado é vinculado sempre que o código é carregado.

Exemplo

O exemplo a seguir mostra como implementar este método para um simples CPendingBreakpoint objeto que expõe a IDebugPendingBreakpoint2 interface.

HRESULT CPendingBreakpoint::Virtualize(BOOL fVirtualize)  
{  
   HRESULT hr;  
  
   // Verify that the pending breakpoint has not been deleted. If deleted, 
   // then return hr = E_BP_DELETED.  
   if (m_state.state != PBPS_DELETED)  
   {  
      if (fVirtualize)  
      {  
         // Set the PBPSF_VIRTUALIZED flag in the PENDING_BP_STATE_FLAGS 
         // structure.  
         SetFlag(m_state.flags, PBPSF_VIRTUALIZED);  
      }  
      else  
      {  
         // Clear the PBPSF_VIRTUALIZED flag in the PENDING_BP_STATE_FLAGS 
         // structure.  
         ClearFlag(m_state.flags, PBPSF_VIRTUALIZED);  
      }  
      hr = S_OK;  
   }  
   else  
   {  
      hr = E_BP_DELETED;  
   }  
  
   return hr;  
}  

Consulte também

Referência

IDebugPendingBreakpoint2