Sdílet prostřednictvím


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

Viz také