// // IEnumerator interface // #region IEnumerator Members public bool MoveNext() { var a = new ICorDebugChain[1]; uint c = 0; int r = m_enum.Next((uint) a.Length, a, out c); if (r == 0 && c == 1) // S_OK && we got 1 new element m_chain = new CorChain(a[0]); else m_chain = null; return m_chain != null; }
// // IEnumerator interface // #region IEnumerator Members public bool MoveNext() { var a = new ICorDebugChain[1]; uint c = 0; int r = m_enum.Next((uint)a.Length, a, out c); if (r == 0 && c == 1) // S_OK && we got 1 new element { m_chain = new CorChain(a[0]); } else { m_chain = null; } return(m_chain != null); }
/// <summary> /// The function should parse the native part of the stack and fill the m_frameCache with the /// corresponding frames from the native chain. Further it should return the top-most frame in the chain. /// </summary> /// <param name="chain">the native chain on the stack</param> /// <returns>First frame from the native chain or null if there are no frames</returns> protected virtual MDbgFrame FillAndGetLeafFrameFromNativeChain(CorChain chain) { Debug.Assert(chain != null); Debug.Assert(!chain.IsManaged); // StackWalkers that support interop callstacks would want to fill the list of frames and return // topmost native frame from that chain. return null; }
public void Reset() { m_enum.Reset(); m_chain = null; }