public int EnumFrameInfo(enum_FRAMEINFO_FLAGS dwFieldSpec, uint nRadix, out IEnumDebugFrameInfo2 ppEnum)
        {
            ppEnum = null;
            List <FRAMEINFO> frames = new List <FRAMEINFO>();

#if !HIDE_THREADS
            ReadOnlyCollection <IStackFrame> stackFrames = _thread.GetFrames();

            FRAMEINFO[] frameInfo = new FRAMEINFO[1];
            foreach (var stackFrame in stackFrames)
            {
                JavaDebugStackFrame javaStackFrame = new JavaDebugStackFrame(this, stackFrame);
                int result = javaStackFrame.GetInfo(dwFieldSpec, nRadix, frameInfo);
                if (!ErrorHandler.Succeeded(result))
                {
                    return(result);
                }

                frames.Add(frameInfo[0]);
            }
#endif

            ppEnum = new EnumDebugFrameInfo(frames);
            return(VSConstants.S_OK);
        }
Ejemplo n.º 2
0
        public int EnumFrameInfo(enum_FRAMEINFO_FLAGS dwFieldSpec, uint nRadix, out IEnumDebugFrameInfo2 ppEnum)
        {
            ppEnum = null;
            List<FRAMEINFO> frames = new List<FRAMEINFO>();

#if !HIDE_THREADS
            ReadOnlyCollection<IStackFrame> stackFrames = _thread.GetFrames();

            FRAMEINFO[] frameInfo = new FRAMEINFO[1];
            foreach (var stackFrame in stackFrames)
            {
                JavaDebugStackFrame javaStackFrame = new JavaDebugStackFrame(this, stackFrame);
                int result = javaStackFrame.GetInfo(dwFieldSpec, nRadix, frameInfo);
                if (!ErrorHandler.Succeeded(result))
                    return result;

                frames.Add(frameInfo[0]);
            }
#endif

            ppEnum = new EnumDebugFrameInfo(frames);
            return VSConstants.S_OK;
        }