Esempio n. 1
0
        static unsafe public string ExtractStackTrace()
        {
            int   bufMax = 16384;
            byte *buf    = stackalloc byte[bufMax];

            int quickSize = Debug.ExtractStackTraceNoAlloc(buf, bufMax, projectFolder);

            if (quickSize > 0)
            {
                return(new string((sbyte *)buf, 0, quickSize, Encoding.UTF8));
            }

            StackTrace trace       = new StackTrace(1, true);
            string     traceString = ExtractFormattedStackTrace(trace);

            return(traceString);
        }
Esempio n. 2
0
        public unsafe static string ExtractStackTrace()
        {
            int    num  = 16384;
            byte * ptr  = stackalloc byte[num];
            int    num2 = Debug.ExtractStackTraceNoAlloc(ptr, num, StackTraceUtility.projectFolder);
            bool   flag = num2 > 0;
            string result;

            if (flag)
            {
                result = new string((sbyte *)ptr, 0, num2, Encoding.UTF8);
            }
            else
            {
                StackTrace stackTrace = new StackTrace(1, true);
                string     text       = StackTraceUtility.ExtractFormattedStackTrace(stackTrace);
                result = text;
            }
            return(result);
        }