MCPcopy Create free account
hub / github.com/nodejs/node / _ReadDirectories

Method _ReadDirectories

deps/v8/tools/grokdump.py:676–720  ·  view source on GitHub ↗
(self, directories)

Source from the content-addressed store, hash-verified

674 assert not self.arch is None
675
676 def _ReadDirectories(self, directories):
677 for d in directories:
678 DebugPrint(d)
679 if d.stream_type == MD_EXCEPTION_STREAM:
680 self.exception = MINIDUMP_EXCEPTION_STREAM.Read(
681 self.minidump, d.location.rva)
682 DebugPrint(self.exception)
683 self.exception_context = self.ContextDescriptor().Read(
684 self.minidump, self.exception.thread_context.rva)
685 DebugPrint(self.exception_context)
686 elif d.stream_type == MD_THREAD_LIST_STREAM:
687 thread_list = MINIDUMP_THREAD_LIST.Read(self.minidump, d.location.rva)
688 if ctypes.sizeof(thread_list) + 4 == d.location.data_size:
689 thread_list = MINIDUMP_THREAD_LIST_Mac.Read(
690 self.minidump, d.location.rva)
691 assert ctypes.sizeof(thread_list) == d.location.data_size
692 DebugPrint(thread_list)
693 for thread in thread_list.threads:
694 DebugPrint(thread)
695 self.thread_map[thread.id] = thread
696 elif d.stream_type == MD_MODULE_LIST_STREAM:
697 assert self.module_list is None
698 self.module_list = MINIDUMP_MODULE_LIST.Read(
699 self.minidump, d.location.rva)
700 if ctypes.sizeof(self.module_list) + 4 == d.location.data_size:
701 self.module_list = MINIDUMP_MODULE_LIST_Mac.Read(
702 self.minidump, d.location.rva)
703 assert ctypes.sizeof(self.module_list) == d.location.data_size
704 DebugPrint(self.module_list)
705 elif d.stream_type == MD_MEMORY_LIST_STREAM:
706 print("Warning: This is not a full minidump!", file=sys.stderr)
707 assert self.memory_list is None
708 self.memory_list = MINIDUMP_MEMORY_LIST.Read(
709 self.minidump, d.location.rva)
710 if ctypes.sizeof(self.memory_list) + 4 == d.location.data_size:
711 self.memory_list = MINIDUMP_MEMORY_LIST_Mac.Read(
712 self.minidump, d.location.rva)
713 assert ctypes.sizeof(self.memory_list) == d.location.data_size
714 DebugPrint(self.memory_list)
715 elif d.stream_type == MD_MEMORY_64_LIST_STREAM:
716 assert self.memory_list64 is None
717 self.memory_list64 = MINIDUMP_MEMORY_LIST64.Read(
718 self.minidump, d.location.rva)
719 assert ctypes.sizeof(self.memory_list64) == d.location.data_size
720 DebugPrint(self.memory_list64)
721
722 def _FindObjdump(self, options):
723 if options.objdump:

Callers 1

__init__Method · 0.95

Calls 4

ContextDescriptorMethod · 0.95
DebugPrintFunction · 0.85
printFunction · 0.70
ReadMethod · 0.45

Tested by

no test coverage detected