//
        // 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);
        }
示例#3
0
        /// <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;
 }
 public void Reset()
 {
     m_enum.Reset();
     m_chain = null;
 }