diff --git a/linux-ramdump-parser-v2/dcc.py b/linux-ramdump-parser-v2/dcc.py index 8081f2eaf226a5abc5a150dc46213f3264fc9366..8b8b8fdae4de6b0d0e01176ee100738fe66c14bd 100644 --- a/linux-ramdump-parser-v2/dcc.py +++ b/linux-ramdump-parser-v2/dcc.py @@ -60,8 +60,12 @@ class DccSramDump(): def __init__(self, start, end, ram_dump): self.start_addr = start self.end_addr = end - self.bin_dir = ram_dump.ram_addr - self.bin_dir="\\".join(self.bin_dir[0][0].split('\\')[:-1]) + self.bin_dir = None + if ram_dump.ram_addr is None: + self.bin_dir = ram_dump.autodump + else: + self.bin_dir = ram_dump.ram_addr + self.bin_dir="\\".join(self.bin_dir[0][0].split('\\')[:-1]) self.dcc_bin = os.path.join(self.bin_dir, 'DCC_SRAM.BIN') if os.path.isfile(self.dcc_bin): diff --git a/linux-ramdump-parser-v2/debug_image_v2.py b/linux-ramdump-parser-v2/debug_image_v2.py index eb6b85aaf053e055666d24dbe57de7071fb536f6..2361f78372194dbab133d3191633f7bbc4da1201 100644 --- a/linux-ramdump-parser-v2/debug_image_v2.py +++ b/linux-ramdump-parser-v2/debug_image_v2.py @@ -466,8 +466,11 @@ class DebugImage_v2(): def parse_dcc(self, ram_dump): out_dir = ram_dump.outdir - bin_dir = ram_dump.ram_addr - bin_dir="\\".join(bin_dir[0][0].split('\\')[:-1]) + if ram_dump.ram_addr is None: + bin_dir = ram_dump.autodump + else: + bin_dir = ram_dump.ram_addr + bin_dir="\\".join(bin_dir[0][0].split('\\')[:-1]) dcc_parser_path = os.path.join(os.path.dirname(__file__), '..', 'dcc_parser', 'dcc_parser.py') if dcc_parser_path is None: print_out_str("!!! Incorrect path for DCC specified.") diff --git a/linux-ramdump-parser-v2/ramdump.py b/linux-ramdump-parser-v2/ramdump.py index 07e3b56de8e4103586843cc6d2575a1cbc23c2b1..7d244d1cdda1eafd1591d41268c5f07101d5c7fa 100644 --- a/linux-ramdump-parser-v2/ramdump.py +++ b/linux-ramdump-parser-v2/ramdump.py @@ -535,7 +535,10 @@ class RamDump(): self.minidump = options.minidump self.elffile = None self.ram_elf_file = None - + self.ram_addr = options.ram_addr + self.autodump = options.autodump + self.module_table = module_table.module_table_class() + self.module_table.setup_sym_path(options.sym_path) if self.minidump: try: mod = import_module('elftools.elf.elffile') @@ -546,9 +549,6 @@ class RamDump(): except ImportError: print "Oops, missing required library for minidump. Check README" sys.exit(1) - self.ram_addr = options.ram_addr - self.module_table = module_table.module_table_class() - self.module_table.setup_sym_path(options.sym_path) if options.ram_addr is not None: # TODO sanity check to make sure the memory regions don't overlap