共用方式為


IDebugPendingBreakpoint2::Virtualize

切換這個暫止斷點的虛擬化狀態。 當暫止斷點虛擬化時,偵錯引擎會在每次新程式代碼載入程式時嘗試繫結它。

語法

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

參數

fVirtualize
[in]設定為非零 (TRUE) 以虛擬化暫止的斷點,或設定為零 (FALSE) 以關閉虛擬化。

傳回值

如果成功,則會傳回 S_OK;否則,會傳回錯誤碼。 如果斷點已刪除,則傳 E_BP_DELETED 回 。

備註

每次載入程式代碼時,都會系結虛擬化斷點。

範例

下列範例示範如何為公開IDebugPendingBreakpoint2 介面的簡單CPendingBreakpoint物件實作這個方法。

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

另請參閱