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