public static MINIDUMP_SYSTEM_INFO parse(Directory.MINIDUMP_DIRECTORY dir, Program.MiniDump minidump) { minidump.fileBinaryReader.BaseStream.Seek(dir.Offset, 0); byte[] chunk = minidump.fileBinaryReader.ReadBytes((int)dir.Size); using (BinaryReader ChunkReader = new BinaryReader(new MemoryStream(chunk))) { MINIDUMP_SYSTEM_INFO si = Parse(ChunkReader); si.OS = guess_os(si.MajorVersion, si.MinorVersion, si.ProductType); return(si); } }
public static List <MinidumpModule> parse(Directory.MINIDUMP_DIRECTORY dir, Program.MiniDump minidump) { List <MinidumpModule> list = new List <MinidumpModule>(); minidump.fileBinaryReader.BaseStream.Seek(dir.Offset, 0); byte[] chunk = minidump.fileBinaryReader.ReadBytes((int)dir.Size); using (BinaryReader ChunkReader = new BinaryReader(new MemoryStream(chunk))) { MINIDUMP_MODULE_LIST mtl = parse_mml(ChunkReader); foreach (MINIDUMP_MODULE mod in mtl.Modules) { MinidumpModule module = parse_mod(mod, minidump.fileBinaryReader); list.Add(module); } } return(list); }
public static MinidumpMemory86List parse(Directory.MINIDUMP_DIRECTORY dir, Program.MiniDump minidump) { List <MinidumpMemory.MinidumpMemorySegment> list = new List <MinidumpMemory.MinidumpMemorySegment>(); MinidumpMemory86List mmlist = new MinidumpMemory86List(); minidump.fileBinaryReader.BaseStream.Seek(dir.Offset, 0); byte[] chunk = minidump.fileBinaryReader.ReadBytes((int)dir.Size); using (BinaryReader ChunkReader = new BinaryReader(new MemoryStream(chunk))) { var mtl = parse_mml(ChunkReader); foreach (MINIDUMP_MEMORY_DESCRIPTORx86 mod in mtl.MemoryRanges) { //list.Add(parse_mini(mod, fileBinaryReader)); } } mmlist.memory_segments = list; return(mmlist); }