C# 클래스 VSNDK.DebugEngine.AD7StackFrame

Represents a logical stack frame on the thread stack. Also implements the IDebugExpressionContext interface, which allows expression evaluation and watch windows.
상속: IDebugStackFrame2, IDebugExpressionContext2
파일 보기 프로젝트 열기: blackberry/VSPlugin 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
_arguments System.Collections.ArrayList
_lastEvaluatedExpression VariableInfo
_locals System.Collections.ArrayList
m_dispatcher EventDispatcher
m_engine AD7Engine
m_functionName string
m_thread AD7Thread

공개 메소드들

메소드 설명
AD7StackFrame ( AD7Engine engine, AD7Thread thread, string frameInfo ) : System

Constructor.

CreateLocalsPlusArgsProperties ( enum_DEBUGPROP_INFO_FLAGS dwFields, uint &elementsReturned, IEnumDebugPropertyInfo2 &enumObject ) : void

Construct an instance of IEnumDebugPropertyInfo2 for the combined locals and parameters.

SetFrameInfo ( enum_FRAMEINFO_FLAGS dwFieldSpec, FRAMEINFO &frameInfo ) : void

Construct a FRAMEINFO for this stack frame with the requested information.

create ( AD7Engine engine, AD7Thread thread, string frameInfo, bool &created ) : AD7StackFrame

Search the __stackframes cache for the internal representation of the stack frame associated to the GDB frameInfo information. If successful, returns the stack frame; otherwise, creates a new one and return it.

비공개 메소드들

메소드 설명
CreateLocalProperties ( enum_DEBUGPROP_INFO_FLAGS dwFields, uint &elementsReturned, IEnumDebugPropertyInfo2 &enumObject ) : void

Construct an instance of IEnumDebugPropertyInfo2 for the locals collection only.

CreateParameterProperties ( enum_DEBUGPROP_INFO_FLAGS dwFields, uint &elementsReturned, IEnumDebugPropertyInfo2 &enumObject ) : void

Construct an instance of IEnumDebugPropertyInfo2 for the parameters collection only.

IDebugExpressionContext2 ( string &pbstrName ) : int

Retrieves the name of the evaluation context. The name is the description of this evaluation context. It is typically something that can be parsed by an expression evaluator that refers to this exact evaluation context. For example, in C++ the name is as follows: "{ function-name, source-file-name, module-file-name }" Not implemented. (http://msdn.microsoft.com/en-ca/library/bb161724.aspx)

IDebugExpressionContext2 ( string pszCode, enum_PARSEFLAGS dwFlags, uint nRadix, IDebugExpression2 &ppExpr, string &pbstrError, uint &pichError ) : int

Parses a text-based expression for evaluation. (http://msdn.microsoft.com/en-ca/library/bb162304.aspx). GDB will parse and evaluate the expression, returning the result or an error in the expression. So, the only task for this method is to create the IDebugExpression2 object that will be sent indirectly to the methods responsible for the evaluation.

IDebugStackFrame2 ( IDebugCodeContext2 &memoryAddress ) : int

Gets the code context for this stack frame. The code context represents the current instruction pointer in this stack frame. (http://msdn.microsoft.com/en-us/library/bb147046.aspx)

IDebugStackFrame2 ( IDebugDocumentContext2 &docContext ) : int

Gets the document context for this stack frame. The debugger will call this when the current stack frame is changed and will use it to open the correct source document for this stack frame. (http://msdn.microsoft.com/en-us/library/bb146338.aspx)

IDebugStackFrame2 ( IDebugExpressionContext2 &ppExprCxt ) : int

Gets an evaluation context for expression evaluation within the current context of a stack frame and thread. Generally, an expression evaluation context can be thought of as a scope for performing expression evaluation. Call the IDebugExpressionContext2::ParseText method to parse an expression and then call the resulting IDebugExpression2::EvaluateSync or IDebugExpression2::EvaluateAsync methods to evaluate the parsed expression. (http://msdn.microsoft.com/en-us/library/bb161269.aspx)

IDebugStackFrame2 ( IDebugProperty2 &property ) : int

Gets a description of the properties associated with a stack frame. (http://msdn.microsoft.com/en-us/library/bb144920.aspx)

IDebugStackFrame2 ( IDebugThread2 &thread ) : int

Gets the thread associated with a stack frame. (http://msdn.microsoft.com/en-us/library/bb161776.aspx)

IDebugStackFrame2 ( enum_DEBUGPROP_INFO_FLAGS dwFields, uint nRadix, System.Guid &guidFilter, uint dwTimeout, uint &elementsReturned, IEnumDebugPropertyInfo2 &enumObject ) : int

Creates an enumerator for properties associated with the stack frame, such as local variables. (http://msdn.microsoft.com/en-us/library/bb145607.aspx).

IDebugStackFrame2 ( enum_FRAMEINFO_FLAGS dwFieldSpec, uint nRadix, FRAMEINFO pFrameInfo ) : int

Gets a description of the stack frame. (http://msdn.microsoft.com/en-us/library/bb145146.aspx)

IDebugStackFrame2 ( string &name ) : int

Gets the name of the stack frame. The name of a stack frame is typically the name of the method being executed. Not implemented. (http://msdn.microsoft.com/en-us/library/bb145002.aspx)

IDebugStackFrame2 ( string &pbstrLanguage, System.Guid &pguidLanguage ) : int

Gets the language associated with this stack frame. (http://msdn.microsoft.com/en-us/library/bb145096.aspx)

IDebugStackFrame2 ( ulong &addrMin, ulong &addrMax ) : int

Gets a machine-dependent representation of the range of physical addresses associated with a stack frame. Not implemented. (http://msdn.microsoft.com/en-us/library/bb145597.aspx)

메소드 상세

AD7StackFrame() 공개 메소드

Constructor.
public AD7StackFrame ( AD7Engine engine, AD7Thread thread, string frameInfo ) : System
engine AD7Engine The AD7Engine object that represents the DE.
thread AD7Thread Represents the thread for this stack frame.
frameInfo string Array of strings with the information provided by GDB about this stack frame.
리턴 System

CreateLocalsPlusArgsProperties() 공개 메소드

Construct an instance of IEnumDebugPropertyInfo2 for the combined locals and parameters.
public CreateLocalsPlusArgsProperties ( enum_DEBUGPROP_INFO_FLAGS dwFields, uint &elementsReturned, IEnumDebugPropertyInfo2 &enumObject ) : void
dwFields enum_DEBUGPROP_INFO_FLAGS A combination of flags from the DEBUGPROP_INFO_FLAGS enumeration that specifies which fields in /// the enumObject are to be filled in.
elementsReturned uint Returns the number of elements in the enumeration.
enumObject IEnumDebugPropertyInfo2 Returns an IEnumDebugPropertyInfo2 object containing a list of the desired properties.
리턴 void

SetFrameInfo() 공개 메소드

Construct a FRAMEINFO for this stack frame with the requested information.
public SetFrameInfo ( enum_FRAMEINFO_FLAGS dwFieldSpec, FRAMEINFO &frameInfo ) : void
dwFieldSpec enum_FRAMEINFO_FLAGS A combination of flags from the FRAMEINFO_FLAGS enumeration that specifies which fields of the /// frameInfo parameter are to be filled in.
frameInfo FRAMEINFO A FRAMEINFO structure that is filled in with the description of the stack frame.
리턴 void

create() 공개 정적인 메소드

Search the __stackframes cache for the internal representation of the stack frame associated to the GDB frameInfo information. If successful, returns the stack frame; otherwise, creates a new one and return it.
public static create ( AD7Engine engine, AD7Thread thread, string frameInfo, bool &created ) : AD7StackFrame
engine AD7Engine The AD7Engine object that represents the DE.
thread AD7Thread Represents the thread for this stack frame.
frameInfo string Array of strings with the information provided by GDB about this stack frame.
created bool Boolean value that indicates if a new object for this stack frame was created or not.
리턴 AD7StackFrame

프로퍼티 상세

_arguments 공개적으로 프로퍼티

Contains the parameters used to call the method/function that originated this stack frame.
public ArrayList,System.Collections _arguments
리턴 System.Collections.ArrayList

_lastEvaluatedExpression 공개적으로 프로퍼티

public VariableInfo,VSNDK.DebugEngine _lastEvaluatedExpression
리턴 VariableInfo

_locals 공개적으로 프로퍼티

Contains the locals variables to this stack frame.
public ArrayList,System.Collections _locals
리턴 System.Collections.ArrayList

m_dispatcher 공개적으로 정적으로 프로퍼티

The class that manages debug events for the debug engine.
public static EventDispatcher,VSNDK.DebugEngine m_dispatcher
리턴 EventDispatcher

m_engine 공개적으로 프로퍼티

The AD7Engine object that represents the DE.
public AD7Engine,VSNDK.DebugEngine m_engine
리턴 AD7Engine

m_functionName 공개적으로 프로퍼티

The function name associated to this stack frame.
public string m_functionName
리턴 string

m_thread 공개적으로 프로퍼티

Represents the thread for this stack frame.
public AD7Thread,VSNDK.DebugEngine m_thread
리턴 AD7Thread