def load_symbols_at(self, addr, verbose=False): if self.DebugInfos == []: self.get_debug_info() found = False for debug_info in self.DebugInfos: if (addr >= debug_info[0]) and (addr < debug_info[0] + debug_info[1]): if edk2_debugger.is_aarch64(self.ec): section = firmware_volume.EfiSectionPE64( self.ec, debug_info[0]) else: section = firmware_volume.EfiSectionPE32( self.ec, debug_info[0]) try: edk2_debugger.load_symbol_from_file( self.ec, section.get_debug_filepath(), section.get_debug_elfbase(), verbose) except Exception, (ErrorClass, ErrorMessage): if verbose: print "Error while loading a symbol file (%s: %s)" % ( ErrorClass, ErrorMessage) found = True return debug_info
def dump(self): self.get_debug_info() for debug_info in self.DebugInfos: base_pe32 = debug_info[0] if edk2_debugger.is_aarch64(self.ec): section = firmware_volume.EfiSectionPE64(self.ec, base_pe32) else: section = firmware_volume.EfiSectionPE32(self.ec, base_pe32) print section.get_debug_filepath()