internal CorStackWalkEx(ICorDebugStackWalk stackwalk, CorThread thread) : base(stackwalk, thread) { m_internalFrameIndex = 0; m_internalFrames = thread.GetActiveInternalFrames(); m_bEndOfStackFrame = false; }
/** * If PureV3StackWalk is specified, then this method returns a CorStackWalk, which does not expose * ICorDebugInternalFrames. If ExtendedV3StackWalk is specified, then this method returns a * CorStackWalkEx, which derives from CorStackWalk and interleaves ICorDebugInternalFrames. */ public CorStackWalk CreateStackWalk(CorStackWalkType type) { ICorDebugThread3 th3 = m_th as ICorDebugThread3; if (th3 == null) { return(null); } ICorDebugStackWalk s = null; th3.CreateStackWalk(out s); if (type == CorStackWalkType.PureV3StackWalk) { return(new CorStackWalk(s, this)); } else { return(new CorStackWalkEx(s, this)); } }
internal CorStackWalk (ICorDebugStackWalk stackwalk, CorThread thread) :base(stackwalk) { m_th = thread; m_sw = stackwalk; }
internal CorStackWalkEx (ICorDebugStackWalk stackwalk, CorThread thread) :base(stackwalk, thread) { m_internalFrameIndex = 0; m_internalFrames = thread.GetActiveInternalFrames(); m_bEndOfStackFrame = false; }
internal CorStackWalk(ICorDebugStackWalk stackwalk, CorThread thread) : base(stackwalk) { m_th = thread; m_sw = stackwalk; }