// Retrieves a list of the stack frames for this thread.
        // We currently call into the process and get the frames.  We might want to cache the frame info.
        int IDebugThread2.EnumFrameInfo(enum_FRAMEINFO_FLAGS dwFieldSpec, uint nRadix, out IEnumDebugFrameInfo2 enumObject)
        {
            var stackFrames = _debuggedThread.Frames;

            if (stackFrames == null)
            {
                enumObject = null;
                return(VSConstants.E_FAIL);
            }

            int numStackFrames = stackFrames.Count;

            FRAMEINFO[] frameInfoArray;

            frameInfoArray = new FRAMEINFO[numStackFrames];

            for (int i = 0; i < numStackFrames; i++)
            {
                AD7StackFrame frame = new AD7StackFrame(_engine, this, stackFrames[i]);
                frame.SetFrameInfo(dwFieldSpec, out frameInfoArray[i]);
            }

            enumObject = new AD7FrameInfoEnum(frameInfoArray);
            return(VSConstants.S_OK);
        }
예제 #2
0
파일: AD7Thread.cs 프로젝트: wenh123/PTVS
        // Retrieves a list of the stack frames for this thread.
        // We currently call into the process and get the frames.  We might want to cache the frame info.
        int IDebugThread2.EnumFrameInfo(enum_FRAMEINFO_FLAGS dwFieldSpec, uint nRadix, out IEnumDebugFrameInfo2 enumObject) {
            var stackFrames = _debuggedThread.Frames;
            if (stackFrames == null) {
                enumObject = null;
                return VSConstants.E_FAIL;
            }

            int numStackFrames = stackFrames.Count;
            FRAMEINFO[] frameInfoArray;

            frameInfoArray = new FRAMEINFO[numStackFrames];

            for (int i = 0; i < numStackFrames; i++) {
                AD7StackFrame frame = new AD7StackFrame(_engine, this, stackFrames[i]);
                frame.SetFrameInfo(dwFieldSpec, out frameInfoArray[i]);
            }

            enumObject = new AD7FrameInfoEnum(frameInfoArray);
            return VSConstants.S_OK;
        }
예제 #3
0
 public UncalculatedAD7Expression(AD7StackFrame frame, string expression, bool writable = false)
 {
     _frame      = frame;
     _expression = expression;
     _writable   = writable;
 }
예제 #4
0
 public AD7Property(AD7StackFrame frame, PythonEvaluationResult obj, bool writable = false)
 {
     _evalResult = obj;
     _frame      = frame;
     _writable   = writable;
 }
예제 #5
0
 public UncalculatedAD7Expression(AD7StackFrame frame, string expression, bool writable = false) {
     _frame = frame;
     _expression = expression;
     _writable = writable;
 }
예제 #6
0
파일: AD7Property.cs 프로젝트: wenh123/PTVS
 public AD7Property(AD7StackFrame frame, PythonEvaluationResult obj, bool writable = false) {
     _evalResult = obj;
     _frame = frame;
     _writable = writable;
 }