// Token: 0x06003257 RID: 12887 RVA: 0x000C10A4 File Offset: 0x000BF2A4
 private void CaptureStackTrace(int iSkip, bool fNeedFileInfo, Thread targetThread, Exception e)
 {
     this.m_iMethodsToSkip += iSkip;
     using (StackFrameHelper stackFrameHelper = new StackFrameHelper(targetThread))
     {
         stackFrameHelper.InitializeSourceInfo(0, fNeedFileInfo, e);
         this.m_iNumOfFrames = stackFrameHelper.GetNumberOfFrames();
         if (this.m_iMethodsToSkip > this.m_iNumOfFrames)
         {
             this.m_iMethodsToSkip = this.m_iNumOfFrames;
         }
         if (this.m_iNumOfFrames != 0)
         {
             this.frames = new StackFrame[this.m_iNumOfFrames];
             for (int i = 0; i < this.m_iNumOfFrames; i++)
             {
                 bool       dummyFlag  = true;
                 bool       dummyFlag2 = true;
                 StackFrame stackFrame = new StackFrame(dummyFlag, dummyFlag2);
                 stackFrame.SetMethodBase(stackFrameHelper.GetMethodBase(i));
                 stackFrame.SetOffset(stackFrameHelper.GetOffset(i));
                 stackFrame.SetILOffset(stackFrameHelper.GetILOffset(i));
                 stackFrame.SetIsLastFrameFromForeignExceptionStackTrace(stackFrameHelper.IsLastFrameFromForeignExceptionStackTrace(i));
                 if (fNeedFileInfo)
                 {
                     stackFrame.SetFileName(stackFrameHelper.GetFilename(i));
                     stackFrame.SetLineNumber(stackFrameHelper.GetLineNumber(i));
                     stackFrame.SetColumnNumber(stackFrameHelper.GetColumnNumber(i));
                 }
                 this.frames[i] = stackFrame;
             }
             if (e == null)
             {
                 this.m_iMethodsToSkip += StackTrace.CalculateFramesToSkip(stackFrameHelper, this.m_iNumOfFrames);
             }
             this.m_iNumOfFrames -= this.m_iMethodsToSkip;
             if (this.m_iNumOfFrames < 0)
             {
                 this.m_iNumOfFrames = 0;
             }
         }
         else
         {
             this.frames = null;
         }
     }
 }
Esempio n. 2
0
        private void CaptureStackTrace(int iSkip, bool fNeedFileInfo, Thread targetThread, Exception e)
        {
            this.m_iMethodsToSkip = this.m_iMethodsToSkip + iSkip;
            StackFrameHelper stackFrameHelper = new StackFrameHelper(fNeedFileInfo, targetThread);

            StackTrace.GetStackFramesInternal(stackFrameHelper, 0, e);
            this.m_iNumOfFrames = stackFrameHelper.GetNumberOfFrames();
            if (this.m_iMethodsToSkip > this.m_iNumOfFrames)
            {
                this.m_iMethodsToSkip = this.m_iNumOfFrames;
            }
            if (this.m_iNumOfFrames != 0)
            {
                this.frames = new StackFrame[this.m_iNumOfFrames];
                for (int i = 0; i < this.m_iNumOfFrames; ++i)
                {
                    StackFrame stackFrame = new StackFrame(true, true);
                    stackFrame.SetMethodBase(stackFrameHelper.GetMethodBase(i));
                    stackFrame.SetOffset(stackFrameHelper.GetOffset(i));
                    stackFrame.SetILOffset(stackFrameHelper.GetILOffset(i));
                    stackFrame.SetIsLastFrameFromForeignExceptionStackTrace(stackFrameHelper.IsLastFrameFromForeignExceptionStackTrace(i));
                    if (fNeedFileInfo)
                    {
                        stackFrame.SetFileName(stackFrameHelper.GetFilename(i));
                        stackFrame.SetLineNumber(stackFrameHelper.GetLineNumber(i));
                        stackFrame.SetColumnNumber(stackFrameHelper.GetColumnNumber(i));
                    }
                    this.frames[i] = stackFrame;
                }
                if (e == null)
                {
                    this.m_iMethodsToSkip = this.m_iMethodsToSkip + StackTrace.CalculateFramesToSkip(stackFrameHelper, this.m_iNumOfFrames);
                }
                this.m_iNumOfFrames = this.m_iNumOfFrames - this.m_iMethodsToSkip;
                if (this.m_iNumOfFrames >= 0)
                {
                    return;
                }
                this.m_iNumOfFrames = 0;
            }
            else
            {
                this.frames = (StackFrame[])null;
            }
        }
Esempio n. 3
0
        private void BuildStackFrame(int skipFrames, bool fNeedFileInfo)
        {
            StackFrameHelper sfh = new StackFrameHelper(fNeedFileInfo, null);

            StackTrace.GetStackFramesInternal(sfh, 0, null);
            int numberOfFrames = sfh.GetNumberOfFrames();

            skipFrames += StackTrace.CalculateFramesToSkip(sfh, numberOfFrames);
            if ((numberOfFrames - skipFrames) > 0)
            {
                this.method   = sfh.GetMethodBase(skipFrames);
                this.offset   = sfh.GetOffset(skipFrames);
                this.ILOffset = sfh.GetILOffset(skipFrames);
                if (fNeedFileInfo)
                {
                    this.strFileName   = sfh.GetFilename(skipFrames);
                    this.iLineNumber   = sfh.GetLineNumber(skipFrames);
                    this.iColumnNumber = sfh.GetColumnNumber(skipFrames);
                }
            }
        }
 // Token: 0x06003275 RID: 12917 RVA: 0x000C1890 File Offset: 0x000BFA90
 private void BuildStackFrame(int skipFrames, bool fNeedFileInfo)
 {
     using (StackFrameHelper stackFrameHelper = new StackFrameHelper(null))
     {
         stackFrameHelper.InitializeSourceInfo(0, fNeedFileInfo, null);
         int numberOfFrames = stackFrameHelper.GetNumberOfFrames();
         skipFrames += StackTrace.CalculateFramesToSkip(stackFrameHelper, numberOfFrames);
         if (numberOfFrames - skipFrames > 0)
         {
             this.method   = stackFrameHelper.GetMethodBase(skipFrames);
             this.offset   = stackFrameHelper.GetOffset(skipFrames);
             this.ILOffset = stackFrameHelper.GetILOffset(skipFrames);
             if (fNeedFileInfo)
             {
                 this.strFileName   = stackFrameHelper.GetFilename(skipFrames);
                 this.iLineNumber   = stackFrameHelper.GetLineNumber(skipFrames);
                 this.iColumnNumber = stackFrameHelper.GetColumnNumber(skipFrames);
             }
         }
     }
 }
Esempio n. 5
0
        private void BuildStackFrame(int skipFrames, bool needFileInfo)
        {
            StackFrameHelper StackF = new StackFrameHelper(null);

            StackF.InitializeSourceInfo(0, needFileInfo, null);

            int iNumOfFrames = StackF.GetNumberOfFrames();

            skipFrames += StackTrace.CalculateFramesToSkip(StackF, iNumOfFrames);

            if ((iNumOfFrames - skipFrames) > 0)
            {
                _method       = StackF.GetMethodBase(skipFrames);
                _nativeOffset = StackF.GetOffset(skipFrames);
                _ilOffset     = StackF.GetILOffset(skipFrames);
                if (needFileInfo)
                {
                    _fileName     = StackF.GetFilename(skipFrames);
                    _lineNumber   = StackF.GetLineNumber(skipFrames);
                    _columnNumber = StackF.GetColumnNumber(skipFrames);
                }
            }
        }
Esempio n. 6
0
        private void BuildStackFrame(int skipFrames, bool fNeedFileInfo)
        {
            StackFrameHelper StackF = new StackFrameHelper(fNeedFileInfo, null);

            StackTrace.GetStackFramesInternal(StackF, 0, null);

            int iNumOfFrames = StackF.GetNumberOfFrames();

            skipFrames += StackTrace.CalculateFramesToSkip(StackF, iNumOfFrames);

            if ((iNumOfFrames - skipFrames) > 0)
            {
                method   = StackF.GetMethodBase(skipFrames);
                offset   = StackF.GetOffset(skipFrames);
                ILOffset = StackF.GetILOffset(skipFrames);
                if (fNeedFileInfo)
                {
                    strFileName   = StackF.GetFilename(skipFrames);
                    iLineNumber   = StackF.GetLineNumber(skipFrames);
                    iColumnNumber = StackF.GetColumnNumber(skipFrames);
                }
            }
        }