IDebugPendingBreakpoint2::Virtualize

Alterna el estado virtualizado de este punto de interrupción pendiente. Cuando se virtualiza un punto de interrupción pendiente, el motor de depuración intentará enlazarlo cada vez que se cargue código nuevo en el programa.

Sintaxis

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

Parámetros

fVirtualize
[in] Establezca en distinto de cero (TRUE) para virtualizar el punto de interrupción pendiente o en cero (FALSE) para desactivar la virtualización.

Valor devuelto

Si la operación se realiza correctamente, devuelve S_OK; de lo contrario, devuelve un código de error. Devuelve E_BP_DELETED si se ha eliminado el punto de interrupción.

Comentarios

Se enlaza un punto de interrupción virtualizado cada vez que se carga el código.

Ejemplo

En el ejemplo siguiente se muestra cómo implementar este método para un objeto simple CPendingBreakpoint que expone la interfaz IDebugPendingBreakpoint2 .

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

Consulte también