IDebugEngine2::CreatePendingBreakpoint
在偵錯引擎中建立擱置中的斷點 (DE)。
語法
int CreatePendingBreakpoint(
IDebugBreakpointRequest2 pBPRequest,
out IDebugPendingBreakpoint2 ppPendingBP
);
參數
pBPRequest
[in]描述 要建立之暫止斷點的 IDebugBreakpointRequest2 物件。
ppPendingBP
[out]會傳 回代表暫止斷點的 IDebugPendingBreakpoint2 物件。
傳回值
如果成功,則會傳回 S_OK
;否則,會傳回錯誤碼。 如果 pBPRequest
參數無效或不完整,通常會傳E_FAIL
回 參數不符合 DE pBPRequest
所支援的任何語言。
備註
暫止斷點基本上是將斷點系結至程序代碼所需的所有資訊集合。 在呼叫 Bind 方法之前,從這個方法傳回的暫止斷點不會系結至程序代碼。
針對用戶設定的每個暫止斷點,會話偵錯管理員 (SDM) 會在每個附加 DE 中呼叫這個方法。 由 DE 決定斷點是否對在該 DE 中執行的程式有效。
當使用者在程式代碼行上設定斷點時,DE 可以自由地將斷點系結至對應至此程式代碼之檔中最接近的行。 這可讓使用者在多行語句的第一行上設定斷點,但在最後一行系結它(其中所有程序代碼都是在偵錯資訊中屬性)。
範例
下列範例示範如何為簡單 CProgram
物件實作這個方法。 DE 的實作 IDebugEngine2::CreatePendingBreakpoint
接著可以將所有呼叫轉送至每個程式中方法的這個實作。
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);
}