// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. using System.Diagnostics; using System.IO; using System.Xml.Serialization; namespace MemoryProfiler2 { /// Encapsulates module information. public class FModuleInfo { public ulong BaseOfImage; public uint ImageSize; public uint TimeDateStamp; public string ModuleName; public string ImageName; public string LoadedImageName; public uint PdbSig; public uint PdbAge; /// Serializing constructor. /// Stream to serialize data from public FModuleInfo(BinaryReader BinaryStream) { BaseOfImage = BinaryStream.ReadUInt64(); ImageSize = BinaryStream.ReadUInt32(); TimeDateStamp = BinaryStream.ReadUInt32(); PdbSig = BinaryStream.ReadUInt32(); PdbAge = BinaryStream.ReadUInt32(); uint v; v = BinaryStream.ReadUInt32(); // data1 v = BinaryStream.ReadUInt16(); // data2 v = BinaryStream.ReadUInt16(); // data3 v = BinaryStream.ReadUInt32(); // data4.0 v = BinaryStream.ReadUInt32(); // data4.4 ModuleName = FStreamParser.ReadString(BinaryStream); ImageName = FStreamParser.ReadString(BinaryStream); LoadedImageName = FStreamParser.ReadString(BinaryStream); Debug.WriteLine("Loaded Module:" + ModuleName); Debug.WriteLine("ImageName:" + ImageName); Debug.WriteLine("LoadedImageName:" + LoadedImageName); Debug.WriteLine("BaseOfImage:" + BaseOfImage.ToString()); Debug.WriteLine("ImageSize:" + ImageSize.ToString()); } } }