Beispiel #1
0
 private void 绑定单次启动(int __启动次数)
 {
     if (__启动次数 < 1)
     {
         __启动次数 = _概要信息.启动列表.Count;
     }
     if (__启动次数 > _概要信息.启动列表.Count)
     {
         __启动次数 = _概要信息.启动列表.Count;
     }
     _详细信息列表 = _I文本分析.查询详细(__启动次数);
     //_分组信息列表 = _详细信息列表.FindAll(q => q.跟踪周期 != E跟踪周期.无 && q.跟踪标记 > 0);
     _分组信息列表 = _详细信息列表.FindAll(q => q.等级 <= TraceEventType.Information);
     _启动信息   = _概要信息.启动列表[__启动次数 - 1];
     //this.out概要信息列表.DataSource = _分组信息列表;
     this.out概要信息列表.DataSource = (from q in _分组信息列表
                                  select new M详细信息
     {
         Id = q.Id,
         标题 = q.标题,
         等级 = q.等级,
         跟踪标记 = q.跟踪标记,
         内容 = q.内容.Replace(Environment.NewLine, ""),
         时间 = q.时间,
         线程 = q.线程,
     }).ToList();
     this.out详细信息列表.DataSource = _详细信息列表;
     this.out当前启动次数.Text       = __启动次数.ToString();
     this.out单次开始时间.Text       = _详细信息列表.First().时间.ToString("MM-dd HH:mm:ss");
     this.out单次结束时间.Text       = _详细信息列表.Last().时间.ToString("MM-dd HH:mm:ss");
 }
        public static M详细信息 解析调试信息(string line)
        {
            line = line.Replace("<br/>", Environment.NewLine);
            var spans = line.Split(new[] { _字段分隔符 }, 6, StringSplitOptions.None);

            if (spans.Length < 4)
            {
                return(null);
            }
            var __时间描述 = spans[0].Trim();
            var __等级描述 = spans[1].Trim();

            var __线程 = spans[2].Trim();
            var __标题 = spans[3].TrimEnd(' ');
            var __内容 = "";

            if (spans.Length > 4)
            {
                __内容 = spans[4].TrimStart('\r', '\n');
                if (__内容.Contains("输入1/2 : 经度"))
                {
                    Debug.Write("");
                }
            }
            var __辅助信息 = "";

            if (spans.Length > 5)
            {
                __辅助信息 = spans[5];
                __辅助信息 = __辅助信息.Replace(_字段分隔符, Environment.NewLine + Environment.NewLine);
            }
            DateTime       __时间;
            TraceEventType __等级;

            if (!DateTime.TryParseExact(__时间描述, "MM-dd HH:mm:ss.fff", null, System.Globalization.DateTimeStyles.None, out __时间))
            {
                return(null);
            }
            if (!Enum.TryParse(__等级描述, out __等级))
            {
                return(null);
            }
            var __M调试信息 = new M详细信息
            {
                时间   = __时间,
                等级   = __等级,
                线程   = __线程,
                标题   = __标题,
                内容   = __内容,
                辅助信息 = __辅助信息,
            };

            if (!string.IsNullOrEmpty(__辅助信息.Trim()))
            {
                __M调试信息.内容 = string.Format("{0}{2}{1}", __内容, __辅助信息, _内容和扩展分割字符);
            }
            return(__M调试信息);
        }
Beispiel #3
0
        private void 定位数据(M详细信息 __绑定数据)
        {
            if (__绑定数据 == null)
            {
                return;
            }
            var __分组位置 = _分组信息列表.FindIndex(q => q.时间 > __绑定数据.时间) - 1;

            if (__分组位置 < 0)
            {
                __分组位置 = _分组信息列表.Count - 1;
            }
            this.out概要信息表格.FocusedRowHandle = this.out概要信息表格.GetRowHandle(__分组位置);
            this.out详细信息表格.FocusedRowHandle = this.out详细信息表格.GetRowHandle(__绑定数据.Id - _启动信息.Id);
        }
Beispiel #4
0
 public F详细信息(M详细信息 __M详细信息)
 {
     InitializeComponent();
     _当前详细信息 = __M详细信息;
 }
Beispiel #5
0
        public static M详细信息 解析调试信息(string line)
        {
            line = line.Replace("<br/>", Environment.NewLine);
            var spans = line.Split(new[] { _字段分隔符 }, StringSplitOptions.None);

            if (spans.Length < 7)
            {
                return(null);
            }
            var __时间描述 = spans[0].Trim();
            var __等级描述 = spans[1].Trim();
            var __事件描述 = spans[2].Trim();
            var __线程   = spans[3].Trim();
            var __标题   = spans[4].Trim();
            var __内容   = spans[5].Trim();
            var __辅助信息 = spans[6].Trim();
            var __行号   = string.Empty;
            var __方法   = string.Empty;
            var __类型   = string.Empty;
            var __文件   = string.Empty;

            if (spans.Length > 7)
            {
                __行号 = spans[7].Trim();
            }
            if (spans.Length > 8)
            {
                __方法 = spans[8].Trim();
            }
            if (spans.Length > 9)
            {
                __类型 = spans[9].Trim();
            }
            if (spans.Length > 10)
            {
                __文件 = spans[10].Trim();
            }

            DateTime       __时间;
            TraceEventType __等级;
            int            __跟踪标记;
            E跟踪周期          __跟踪周期;

            if (!DateTime.TryParse(__时间描述, out __时间))
            {
                return(null);
            }
            if (!Enum.TryParse(__等级描述, out __等级))
            {
                return(null);
            }
            if (!int.TryParse(__事件描述, out __跟踪标记))
            {
                return(null);
            }
            if (__跟踪标记 == 0)
            {
                __跟踪周期 = E跟踪周期.无;
            }
            else
            {
                if (!Enum.TryParse(__标题, out __跟踪周期))
                {
                    return(null);
                }
            }
            var __M调试信息 = new M详细信息
            {
                时间   = __时间,
                等级   = __等级,
                线程   = __线程,
                标题   = __标题,
                内容   = __内容,
                辅助信息 = __辅助信息,
                跟踪周期 = __跟踪周期,
                跟踪标记 = __跟踪标记,
                方法   = __方法,
                类型   = __类型,
                文件   = __文件,
                行号   = __行号,
                耗时   = 0,
                来源   = "文本",
            };

            if (!string.IsNullOrEmpty(__辅助信息.Trim()))
            {
                __M调试信息.内容 = string.Format("{0}{2}{1}", __内容, __辅助信息, _内容和扩展分割字符);
            }
            return(__M调试信息);
        }