public DesktopModule(DesktopRuntimeBase runtime, ulong address, IModuleData data, string name, string assemblyName) : base(runtime) { _address = address; Revision = runtime.Revision; ImageBase = data.ImageBase; AssemblyName = assemblyName; _isPE = data.IsPEFile; IsDynamic = data.IsReflection || string.IsNullOrEmpty(name); _name = name; ModuleId = data.ModuleId; ModuleIndex = data.ModuleIndex; MetadataAddress = data.MetdataStart; MetadataLength = data.MetadataLength; AssemblyId = data.Assembly; _size = new Lazy <ulong>(() => runtime.GetModuleSize(address)); }
public DesktopModule(DesktopRuntimeBase runtime, ulong address, IModuleData data, string name, string assemblyName) : base(runtime) { _address = address; Revision = runtime.Revision; _imageBase = data.ImageBase; _assemblyName = assemblyName; _isPE = data.IsPEFile; _reflection = data.IsReflection || string.IsNullOrEmpty(name); _name = name; ModuleId = data.ModuleId; ModuleIndex = data.ModuleIndex; _metadataStart = data.MetdataStart; _metadataLength = data.MetadataLength; _assemblyAddress = data.Assembly; _size = new Lazy <ulong>(() => runtime.GetModuleSize(address)); if (!runtime.DataReader.IsMinidump) { // This is very expensive in the minidump case, as we may be heading out to the symbol server or // reading multiple files from disk. Only optimistically fetch this data if we have full memory. _metadata = data.LegacyMetaDataImport as ICorDebug.IMetadataImport; } }