static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("Usage: HeapList <pid>"); return; } try { foreach (var heap in SystemInformation.EnumHeaps(int.Parse(args[0]))) { Console.WriteLine($"Heap {heap.HeapId} Default: {heap.IsDefaultHeap} Shared: {heap.IsSharedHeap}"); foreach (var block in heap.EnumHeapBlocks()) { Console.WriteLine($"\tHandle: 0x{block.HeapHandle:X} Address: 0x{block.Address:X} Size: 0x{block.BlockSize:X} Flags: {block.Flags}"); } } } catch (Exception ex) { Console.WriteLine($"Error: {ex.Message}"); } }