コード例 #1
0
 public static void InMemoryTraceOperationCompleted()
 {
     if (AirSyncDiagnostics.IsInMemoryTracingEnabled())
     {
         AirSyncDiagnostics.TroubleshootingContext.TraceOperationCompletedAndUpdateContext();
     }
 }
コード例 #2
0
        // Token: 0x06000661 RID: 1633 RVA: 0x00025488 File Offset: 0x00023688
        internal override AirSyncTraces GetExchangeDiagnosticsInfoData(DiagnosableParameters arguments)
        {
            AirSyncTraces airSyncTraces = new AirSyncTraces();
            StringBuilder tracesBuilder = new StringBuilder("TimeStamp,TraceTag,FormatString,NativeThreadId,ComponentGuid,TraceTag,StartIndex,Id\r\n");

            if (AirSyncDiagnostics.IsInMemoryTracingEnabled() && AirSyncDiagnostics.TroubleshootingContext.MemoryTraceBuilder != null)
            {
                AirSyncDiagnostics.TroubleshootingContext.MemoryTraceBuilder.GetTraces().ToList <TraceEntry>().ForEach(delegate(TraceEntry traceLine)
                {
                    tracesBuilder.AppendLine(string.Format("{0},{1},{2},{3},{4},{5},{6},{7}", new object[]
                    {
                        traceLine.Timestamp,
                        traceLine.TraceType,
                        traceLine.FormatString,
                        traceLine.NativeThreadId,
                        traceLine.ComponentGuid,
                        traceLine.TraceTag,
                        traceLine.StartIndex,
                        traceLine.Id
                    }));
                });
                airSyncTraces.TraceData      = SecurityElement.Escape(tracesBuilder.ToString());
                airSyncTraces.TracingEnabled = new bool?(true);
            }
            else
            {
                airSyncTraces.TracingEnabled = new bool?(false);
            }
            return(airSyncTraces);
        }
コード例 #3
0
 public static void SendInMemoryTraceWatson(Exception exception)
 {
     AirSyncDiagnostics.DoWithExtraWatsonData(delegate
     {
         if (AirSyncDiagnostics.IsInMemoryTracingEnabled())
         {
             AirSyncDiagnostics.TroubleshootingContext.TraceOperationCompletedAndUpdateContext();
             AirSyncDiagnostics.TroubleshootingContext.SendTroubleshootingReportWithTraces(exception);
             return;
         }
         if (exception != TroubleshootingContext.FaultInjectionInvalidOperationException)
         {
             ExWatson.SendReport(exception, ReportOptions.DoNotCollectDumps, null);
         }
     });
 }
コード例 #4
0
 public static void SendWatson(Exception exception, bool terminating)
 {
     AirSyncDiagnostics.DoWithExtraWatsonData(delegate
     {
         if (AirSyncDiagnostics.IsInMemoryTracingEnabled())
         {
             AirSyncDiagnostics.TroubleshootingContext.TraceOperationCompletedAndUpdateContext();
             AirSyncDiagnostics.TroubleshootingContext.SendExceptionReportWithTraces(exception, terminating);
             return;
         }
         if (exception != TroubleshootingContext.FaultInjectionInvalidOperationException)
         {
             ExWatson.SendReport(exception, terminating ? ReportOptions.ReportTerminateAfterSend : ReportOptions.None, null);
         }
     });
 }