def __init__(self, filename, delegate=debug.DummyResolver()): self.delegate = delegate self.symbols = [] self.modules = [] self.segments = [] self.cache = {} TraceDumpReaderBase.__init__(self, filename) self.symbols.sort() self.modules.sort() self.segments.sort()
def symbol_resolver(args): if args.no_resolve: return debug.DummyResolver() if args.exe: elf_path = args.exe elif args.debug: elf_path = 'build/debug/loader.elf' else: elf_path = 'build/release/loader.elf' base = debug.DummyResolver() try: base = trace.TraceDumpSymbols(args.tracefile, base) except trace.NotATraceDumpFile: # not a trace dump file. Assume trace buffer file, continue as usual pass return BeautifyingResolver(debug.SymbolResolver(elf_path, base, show_inline=not args.no_inlined_by))
def symbol_resolver(args): if args.no_resolve: return debug.DummyResolver() if args.exe: elf_path = args.exe elif args.debug: elf_path = 'build/debug/loader.elf' else: elf_path = 'build/release/loader.elf' return BeautifyingResolver(debug.SymbolResolver(elf_path, show_inline=not args.no_inlined_by))
return '' frames = list( debug.resolve_all(self.resolver, (x - 1 for x in backtrace if x))) while frames[0].name and frames[0].name.startswith("tracepoint"): frames.pop(0) return ' [' + ', '.join(map(self.formatter, frames)) + ']' def simple_symbol_formatter(src_addr): return '0x%x' % src_addr.addr default_backtrace_formatter = BacktraceFormatter(debug.DummyResolver(), simple_symbol_formatter) class TimeRange(object): """ Represents time from @begin inclusive to @end exclusive. None in any of these means open range from that side. """ def __init__(self, begin, end): self.begin = begin self.end = end def __contains__(self, timestamp): if self.begin and timestamp < self.begin: