Пример #1
0
        /// <summary>
        /// Thread responsible for evaluating expressions asynchronously.
        /// </summary>
        public void evaluatingAsync()
        {
            VariableInfo vi       = VariableInfo.get(exp, m_eventDispatcher, m_frame);
            AD7Property  ppResult = new AD7Property(vi);

            m_frame.m_engine.Callback.Send(new AD7ExpressionEvaluationCompleteEvent(this, ppResult), AD7ExpressionEvaluationCompleteEvent.IID, m_frame.m_engine, m_frame.m_thread);
        }
Пример #2
0
        /// <summary>
        /// This method evaluates the expression synchronously. (http://msdn.microsoft.com/en-ca/library/bb146982.aspx)
        /// </summary>
        /// <param name="dwFlags"> A combination of flags from the EVALFLAGS enumeration that control expression evaluation. </param>
        /// <param name="dwTimeout"> Maximum time, in milliseconds, to wait before returning from this method. Use INFINITE to wait
        /// indefinitely. </param>
        /// <param name="pExprCallback"> This parameter is always a null value. </param>
        /// <param name="ppResult"> Returns the IDebugProperty2 object that contains the result of the expression evaluation. </param>
        /// <returns> VSConstants.S_OK. </returns>
        int IDebugExpression2.EvaluateSync(enum_EVALFLAGS dwFlags, uint dwTimeout, IDebugEventCallback2 pExprCallback, out IDebugProperty2 ppResult)
        {
            VariableInfo vi = VariableInfo.get(exp, m_eventDispatcher, m_frame);

            ppResult = new AD7Property(vi);
            m_frame._lastEvaluatedExpression = vi;
            return(VSConstants.S_OK);
        }