C# 클래스 PowerStudio.DebugEngine.DebugExpression

When a program has halted, the session debug manager (SDM) obtains a stack frame from the DE with a call to IDebugThread2::EnumFrameInfo. The SDM then calls IDebugStackFrame2::GetExpressionContext to get the IDebugExpressionContext2 interface. This is followed by a call to IDebugExpressionContext2::ParseText to create the IDebugExpression2 interface, which represents the parsed expression ready to be evaluated. The SDM calls either IDebugExpression2::EvaluateSync or IDebugExpression2::EvaluateAsync to actually evaluate the expression and produce a value. In an implementation of IDebugExpressionContext2::ParseText, the DE uses COM's CoCreateInstance function to instantiate an expression evaluator and get an IDebugExpressionEvaluator interface (see the Example in the IDebugExpressionEvaluator interface). The DE then calls IDebugExpressionEvaluator::Parse to obtain an IDebugParsedExpression interface. This interface is used in the implementation of IDebugExpression2::EvaluateSync and IDebugExpression2::EvaluateAsync to perform the evaluation.
상속: IDebugExpression2
파일 보기 프로젝트 열기: IntelliTect/PowerStudio

공개 메소드들

메소드 설명
Abort ( ) : int

This method cancels asynchronous expression evaluation as started by a call to the IDebugExpression2::EvaluateAsync method.

When asynchronous expression evaluation is cancelled, do not sent an IDebugExpressionEvaluationCompleteEvent2 event to the event callback passed to the IDebugProgram2::Attach or IDebugEngine2::Attach methods.

EvaluateAsync ( enum_EVALFLAGS dwFlags, IDebugEventCallback2 pExprCallback ) : int

This method evaluates the expression asynchronously.

This method should return immediately after it has started the expression evaluation. When the expression is successfully evaluated, an IDebugExpressionEvaluationCompleteEvent2 must be sent to the IDebugEventCallback2 event callback as supplied through IDebugProgram2::Attach or IDebugEngine2::Attach.

EvaluateSync ( enum_EVALFLAGS dwFlags, uint dwTimeout, IDebugEventCallback2 pExprCallback, IDebugProperty2 &ppResult ) : int

This method evaluates the expression synchronously.

For synchronous evaluation, it is not necessary to send an event back to Visual Studio upon completion of the evaluation.

메소드 상세

Abort() 공개 메소드

This method cancels asynchronous expression evaluation as started by a call to the IDebugExpression2::EvaluateAsync method.
When asynchronous expression evaluation is cancelled, do not sent an IDebugExpressionEvaluationCompleteEvent2 event to the event callback passed to the IDebugProgram2::Attach or IDebugEngine2::Attach methods.
public Abort ( ) : int
리턴 int

EvaluateAsync() 공개 메소드

This method evaluates the expression asynchronously.
This method should return immediately after it has started the expression evaluation. When the expression is successfully evaluated, an IDebugExpressionEvaluationCompleteEvent2 must be sent to the IDebugEventCallback2 event callback as supplied through IDebugProgram2::Attach or IDebugEngine2::Attach.
public EvaluateAsync ( enum_EVALFLAGS dwFlags, IDebugEventCallback2 pExprCallback ) : int
dwFlags enum_EVALFLAGS A combination of flags from the EVALFLAGS enumeration that control expression evaluation.
pExprCallback IDebugEventCallback2 This parameter is always a null value.
리턴 int

EvaluateSync() 공개 메소드

This method evaluates the expression synchronously.
For synchronous evaluation, it is not necessary to send an event back to Visual Studio upon completion of the evaluation.
public EvaluateSync ( enum_EVALFLAGS dwFlags, uint dwTimeout, IDebugEventCallback2 pExprCallback, IDebugProperty2 &ppResult ) : int
dwFlags enum_EVALFLAGS A combination of flags from the EVALFLAGS enumeration that control expression evaluation.
dwTimeout uint Maximum time, in milliseconds, to wait before returning from this method. Use INFINITE to wait indefinitely.
pExprCallback IDebugEventCallback2 This parameter is always a null value.
ppResult IDebugProperty2 Returns the IDebugProperty2 object that contains the result of the expression evaluation.
리턴 int