IDebugPendingBreakpoint2::Virtualize
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Toggles the virtualized state of this pending breakpoint. When a pending breakpoint is virtualized, the debug engine will attempt to bind it every time new code loads into the program.
Syntax
HRESULT Virtualize(
BOOL fVirtualize
);
int Virtualize(
int fVirtualize
);
Parameters
fVirtualize
[in] Set to nonzero (TRUE
) to virtualize the pending breakpoint, or to zero (FALSE
) to turn off virtualization.
Return Value
If successful, returns S_OK
; otherwise, returns an error code. Returns E_BP_DELETED
if the breakpoint has been deleted.
Remarks
A virtualized breakpoint is bound every time code is loaded.
Example
The following example shows how to implement this method for a simple CPendingBreakpoint
object that exposes the IDebugPendingBreakpoint2 interface.
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;
}