(self, options, minidump_name)
| 621 | _HEADER_MAGIC = 0x504d444d |
| 622 | |
| 623 | def __init__(self, options, minidump_name): |
| 624 | self._reset() |
| 625 | self.minidump_name = minidump_name |
| 626 | if sys.platform == 'win32': |
| 627 | self.minidump_file = open(minidump_name, "a+") |
| 628 | self.minidump = mmap.mmap(self.minidump_file.fileno(), 0) |
| 629 | else: |
| 630 | self.minidump_file = open(minidump_name, "r") |
| 631 | self.minidump = mmap.mmap(self.minidump_file.fileno(), 0, mmap.MAP_PRIVATE) |
| 632 | self.header = MINIDUMP_HEADER.Read(self.minidump, 0) |
| 633 | if self.header.signature != MinidumpReader._HEADER_MAGIC: |
| 634 | print("Warning: Unsupported minidump header magic!", file=sys.stderr) |
| 635 | DebugPrint(self.header) |
| 636 | offset = self.header.stream_directories_rva |
| 637 | directories = [] |
| 638 | for _ in range(self.header.stream_count): |
| 639 | directories.append(MINIDUMP_DIRECTORY.Read(self.minidump, offset)) |
| 640 | offset += MINIDUMP_DIRECTORY.size |
| 641 | |
| 642 | self.symdir = options.symdir |
| 643 | self._ReadArchitecture(directories) |
| 644 | self._ReadDirectories(directories) |
| 645 | self._FindObjdump(options) |
| 646 | |
| 647 | def _reset(self): |
| 648 | self.header = None |
nothing calls this directly
no test coverage detected