IDebugEngine2::CreatePendingBreakpoint
Vytvoří čekající zarážku v ladicím stroji (DE).
Syntaxe
int CreatePendingBreakpoint(
IDebugBreakpointRequest2 pBPRequest,
out IDebugPendingBreakpoint2 ppPendingBP
);
Parametry
pBPRequest
[v] IDebugBreakpointRequest2 objekt, který popisuje čekající zarážku k vytvoření.
ppPendingBP
[ven] Vrátí IDebugPendingBreakpoint2 objekt, který představuje čekající zarážku.
Vrácená hodnota
V případě úspěchu vrátí hodnotu S_OK
; v opačném případě vrátí kód chyby. Obvykle se vrátí E_FAIL
, pokud pBPRequest
parametr neodpovídá žádnému jazyku podporovanému de, pokud pBPRequest
je parametr neplatný nebo neúplný.
Poznámky
Čekající zarážka je v podstatě kolekce všech informací potřebných k vytvoření vazby zarážky na kód. Čekající zarážka vrácená z této metody není vázána na kód, dokud není volána Metoda Bind .
Pro každou čekající zarážku sady uživatelů volá správce ladění relace (SDM) tuto metodu v každém připojeném DE. Je na de ověřit, zda je zarážka platná pro programy spuštěné v daném DE.
Když uživatel nastaví zarážku na řádku kódu, de je volný vytvořit vazbu zarážky na nejbližší řádek v dokumentu, který odpovídá tomuto kódu. Díky tomu může uživatel nastavit zarážku na prvním řádku víceřádkového příkazu, ale svázat ho na posledním řádku (kde je veškerý kód přiřazený v informacích o ladění).
Příklad
Následující příklad ukazuje, jak implementovat tuto metodu pro jednoduchý CProgram
objekt. Implementace DE IDebugEngine2::CreatePendingBreakpoint
by pak mohla předat všechna volání této implementace metody v každém programu.
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);
}