/// <summary> /// Allows a debugger to intercept the current exception on this thread. /// </summary> /// <remarks> /// This method can be called between an exception callback (<c>ICorDebugManagedCallback::Exception</c> /// or <c>ICorDebugManagedCallback2::Exception</c>) and the associated call to <see cref="CorDebugController.Continue(bool)" />. /// </remarks> public int InterceptCurrentException(CorDebugFrame frame) { using var pFrame = frame?.AcquirePointer(); return(Calli(_this, This[0]->InterceptCurrentException, pFrame)); }
/// <summary> /// Gets the active (that is, most recent) frame on the chain. /// </summary> /// <remarks> /// If no managed stack frame is available, <see paramref="frame" /> is /// set to <see langword="null" />. /// /// If the active frame is not available, the call will succeed and /// <see paramref="frame" /> will be <see langword="null" />. Active frames will /// not be available for chains initiated due to <see cref="CorDebugChainReason.CHAIN_ENTER_UNMANAGED" />, /// and for some chains initiated due to <see cref="CorDebugChainReason.CHAIN_CLASS_INIT" />. /// </remarks> public int GetActiveFrame(out CorDebugFrame frame) => InvokeGetObject(_this, This[0]->GetActiveFrame, out frame);
/// <summary> /// Gets the frame this frame called is frame in the current chain. /// </summary> /// <remarks>If this frame is the innermost in the chain, <see paramref="frame" /> will /// be <see langword="null" />. public int GetCallee(out CorDebugFrame frame) => InvokeGetObject(_this, This[0]->GetCallee, out frame);