A stack frame is an abstraction of the current state of an executing method. Use StackTrace to enumerate all the stack frames that led up to the current process. Use GetMethod( ) to obtain information about the method represented by a stack frame. Use GetFileName( ) to retrieve the name of the module that contains the method. The column and line numbers of the method, which are determined from debugging symbols, can be accessed with GetFileColumnNumber( ) and GetFileLineNumber( ) . To obtain the location in memory of the StackFrame , use GetNativeOffset( ) , or, alternatively, for the offset of IL code, call GetILOffset( ) . If the JIT compiler is not generating debugging symbols, this number is approximated by the runtime. public class StackFrame { // Public Constructors public StackFrame ( ); public StackFrame (bool fNeedFileInfo ); public StackFrame (int skipFrames ); public StackFrame (int skipFrames , bool fNeedFileInfo ); public StackFrame (string fileName , int lineNumber ); public StackFrame (string fileName , int lineNumber , int colNumber ); // Public Static Fields public const int OFFSET_UNKNOWN ; // = -1 // Public Instance Methods public virtual int GetFileColumnNumber ( ); public virtual int GetFileLineNumber ( ); public virtual string GetFileName ( ); public virtual int GetILOffset ( ); public virtual MethodBase GetMethod ( ); public virtual int GetNativeOffset ( ); public override string ToString ( ); // overrides object } Returned ByStackTrace.GetFrame( ) Passed ToStackTrace.StackTrace( ) |