Condividi tramite


IDebugEngine2:: CreatePendingBreakpoint

Creazione di un punto di interruzione in attesa nel motore di (DE) debug.

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

Parametri

Valore restituito

Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore. In genere restituisce E_FAIL se il parametro di pBPRequest non corrisponde a un linguaggio supportato da DE di se il parametro di pBPRequest non è valido o non è completo.

Note

Di un punto di interruzione in attesa è essenzialmente una raccolta di tutte le informazioni necessarie per associare un punto di interruzione nel codice. Il punto di interruzione in attesa restituito da questo metodo non è associato al codice IDebugPendingBreakpoint2:: associazione finché non viene chiamato il metodo.

Per ciascun punto di interruzione in corsoutente, l'amministratore (SDM) di debug della sessione chiama questo metodo in ogni DE associato. Spetta al DE per verificare che il punto di interruzione sia valido per i programmi in esecuzione in tale DE.

Quando che un utente ha impostato un punto di interruzione su una riga di codice, il DE è la possibilità di associare il punto di interruzione in corrispondenza più vicina nel documento corrispondente a tale codice. In questo modo affinché l'utente imposti un punto di interruzione sulla prima riga dell'istruzione su più righe, ma associaultima riga (dove il codice con attributi nelle informazioni di debug.

Esempio

Nell'esempio seguente viene illustrato come implementare questo metodo per un oggetto semplice di CProgram . L'implementazione Di DE di IDebugEngine2::CreatePendingBreakpoint potrebbe quindi inoltrare tutte le chiamate a questa implementazione del metodo da ogni programma.

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);  
}  

Vedere anche

Riferimenti

IDebugEngine2

IDebugPendingBreakpoint2:: associazione

IDebugBreakpointRequest2

IDebugPendingBreakpoint2