コード例 #1
0
        public void Setup(List <ClrDump> clrDumps)
        {
            ClrDumps = clrDumps;
            Icon     = Properties.Resources.subtotal_small;
            Name     = "Dump diff";
            dlvDumpDiff.SetUpTypeColumn(colType);
            colType.Text         = "Type";
            colType.AspectGetter = o => (string)o;
            ClrDump prevClrDump = null;

            foreach (var clrDump in ClrDumps.OrderBy(dump => dump.Id))
            {
                var        stats   = clrDump.GetTypeStats();
                DiffColumn diffCol = new DiffColumn(clrDump, stats, prevClrDump?.GetTypeStats());
                dlvDumpDiff.AllColumns.Add(diffCol);
                prevClrDump = clrDump;
                dlvDumpDiff.RegisterDataProvider(() => SelectedTypeInstancesAddressList(clrDump), this, $"#{clrDump.Id}");
            }
            dlvDumpDiff.RebuildColumns();
            dlvDumpDiff.UseCellFormatEvents = true;
            dlvDumpDiff.FormatCell         += OnFormatCell;
            dlvDumpDiff.CellClick          += OnCellClick;
            dlvDumpDiff.CustomSorter        = DumpDiffSort;

            dlvDumpDiff.SetRegexFilter(regexFilterControl, o => (string)o);
        }
コード例 #2
0
 public override void  Init()
 {
     Log("Computing type statistics...", WinFwk.UITools.Log.LogLevelType.Info);
     if (ClrDump.Runtime != null)
     {
         typeStats = ClrDump.GetTypeStats();
         Summary   = $"{typeStats.Count:###,###,###,##0} types";
     }
     else
     {
         Summary = $"Error. Dump file not loaded !";
     }
     Log("Type statistics computed.", WinFwk.UITools.Log.LogLevelType.Info);
 }