private static void PrintDiagnosticInfo(DataTarget dt, ClrRuntime runtime, ClrHeap heap) { Console.WriteLine("DataTarget Info:"); Console.WriteLine(" ClrVersions: " + String.Join(", ", dt.ClrVersions)); Console.WriteLine(" IsMinidump: " + dt.IsMinidump); Console.WriteLine(" Architecture: " + dt.Architecture); Console.WriteLine(" PointerSize: " + dt.PointerSize); Console.WriteLine(" SymbolPath: " + dt.GetSymbolPath()); Console.WriteLine("ClrRuntime Info:"); Console.WriteLine(" ServerGC: " + runtime.ServerGC); Console.WriteLine(" HeapCount: " + runtime.HeapCount); Console.WriteLine(" Thread Count: " + runtime.Threads.Count); Console.WriteLine("ClrRuntime Modules:"); foreach (var module in runtime.EnumerateModules()) { Console.WriteLine(" {0,26} Id:{1}, {2,10:N0} bytes @ 0x{3:X8}", Path.GetFileName(module.FileName), module.AssemblyId, module.Size, module.ImageBase); } Console.WriteLine("ClrHeap Info:"); Console.WriteLine(" TotalHeapSize: " + heap.TotalHeapSize); Console.WriteLine(" Segments: " + heap.Segments.Count); Console.WriteLine(" Gen0 Size: " + heap.GetSizeByGen(0)); Console.WriteLine(" Gen1 Size: " + heap.GetSizeByGen(1)); Console.WriteLine(" Gen2 Size: " + heap.GetSizeByGen(2)); Console.WriteLine(" Gen3 Size: " + heap.GetSizeByGen(3)); }