public void CopyTo(MemoryTraceBuilder destination, int startIndex)
 {
     if ((this.startEntry < this.freeEntry && (startIndex < this.startEntry || startIndex >= this.freeEntry)) || (this.startEntry > this.freeEntry && startIndex < this.startEntry && startIndex >= this.freeEntry))
     {
         throw new ArgumentOutOfRangeException("startIndex");
     }
     int num = startIndex;
     while (num != this.freeEntry)
     {
         TraceEntry traceEntry = this.entries[num];
         destination.BeginEntry(traceEntry);
         if (destination.ReserveSpace(traceEntry.Length))
         {
             int startIndex2 = traceEntry.StartIndex;
             for (int i = traceEntry.Length; i > 0; i--)
             {
                 char nextCharInTraceBuffer = MemoryTraceBuilder.GetNextCharInTraceBuffer(this.traceBuffer, ref startIndex2);
                 destination.AppendWithoutCheck(nextCharInTraceBuffer);
             }
         }
         destination.EndEntry();
         if (++num == this.entryArrayLength)
         {
             num = 0;
         }
     }
 }
        public static void TraceInMemory <T0, T1, T2>(int lid, TraceType traceType, Guid componentGuid, int traceTag, long id, string format, T0 argument0, T1 argument1, T2 argument2)
        {
            MemoryTraceBuilder memoryTraceBuilder = ExTraceInternal.GetMemoryTraceBuilder();
            bool flag = false;

            try
            {
                if (!memoryTraceBuilder.InsideTraceCall)
                {
                    memoryTraceBuilder.BeginEntry(traceType, componentGuid, traceTag, id, format);
                    memoryTraceBuilder.AddArgument <T0>(argument0);
                    memoryTraceBuilder.AddArgument <T1>(argument1);
                    memoryTraceBuilder.AddArgument <T2>(argument2);
                    memoryTraceBuilder.EndEntry();
                }
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    memoryTraceBuilder.Reset();
                }
            }
        }
        public static void TraceInMemory(int lid, TraceType traceType, Guid componentGuid, int traceTag, long id, string format, object[] arguments)
        {
            if (arguments == null)
            {
                return;
            }
            MemoryTraceBuilder memoryTraceBuilder = ExTraceInternal.GetMemoryTraceBuilder();
            bool flag = false;

            try
            {
                if (!memoryTraceBuilder.InsideTraceCall)
                {
                    memoryTraceBuilder.BeginEntry(traceType, componentGuid, traceTag, id, format);
                    for (int i = 0; i < arguments.Length; i++)
                    {
                        ExTraceInternal.AddTraceArgument(memoryTraceBuilder, arguments[i]);
                    }
                    memoryTraceBuilder.EndEntry();
                }
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    memoryTraceBuilder.Reset();
                }
            }
        }
        public static void TraceInMemory(int lid, TraceType traceType, Guid componentGuid, int traceTag, long id, string message)
        {
            MemoryTraceBuilder memoryTraceBuilder = ExTraceInternal.GetMemoryTraceBuilder();
            bool flag = false;

            try
            {
                if (!memoryTraceBuilder.InsideTraceCall)
                {
                    memoryTraceBuilder.BeginEntry(traceType, componentGuid, traceTag, id, message);
                    memoryTraceBuilder.EndEntry();
                }
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    memoryTraceBuilder.Reset();
                }
            }
        }
Example #5
0
 private void AddOperationCompletedMarker(MemoryTraceBuilder memoryTraceBuilder, long id)
 {
     memoryTraceBuilder.BeginEntry(TroubleshootingContext.markerEntry.TraceType, TroubleshootingContext.markerEntry.ComponentGuid, TroubleshootingContext.markerEntry.TraceTag, id, TroubleshootingContext.markerEntry.FormatString);
     memoryTraceBuilder.EndEntry();
 }