def __init__(self, archname): # First things first, lets steal ourself an arch! envi.stealArchMethods(self, archname) vtrace.Trace.__init__(self, archname=archname) v_base.TracerBase.__init__(self) GdbStubMixin.__init__(self)
def __init__(self, archname): # First things first, lets steal ourself an arch! envi.stealArchMethods(self, archname) vtrace.Trace.__init__(self, archname=archname) v_base.TracerBase.__init__(self) GdbStubMixin.__init__(self) self._break_after_bp = False # We break *at* the bp
def __init__(self, snapdict): self.s_snapcache = {} self.s_snapdict = snapdict # a seperate parser for each version... if snapdict['version'] == 1: self.s_version = snapdict['version'] self.s_threads = snapdict['threads'] self.s_regs = snapdict['regs'] self.s_maps = snapdict['maps'] self.s_mem = snapdict['mem'] self.metadata = snapdict['meta'] self.s_stacktrace = snapdict['stacktrace'] self.s_exe = snapdict['exe'] self.s_fds = snapdict['fds'] self.localvars = snapdict.get('vars', {}) else: raise Exception("ERROR: Unknown snapshot version!") # In the ghetto! archname = self.metadata.get('Architecture') envi.stealArchMethods(self, archname) vtrace.Trace.__init__(self) v_base.TracerBase.__init__(self) # This will re-init meta... *sigh* set it back... self.metadata = snapdict['meta'] # Steal the reg defs of the first thread rinfo = self.s_regs.items()[0][1] self.setRegisterInfo(rinfo) #FIXME hard-coded page size! self.s_map_lookup = {} for map in self.s_maps: for i in range(map[0], map[0] + map[1], 4096): self.s_map_lookup[i] = map # Lets get some symbol resolvers created for our libraries #for fname in self.getNormalizedLibNames(): #subres = e_resolv.FileSymbol(fname, self.running = False self.attached = True # So that we pickle self.bplock = None self.thread = None
def __init__(self, snapdict): self.s_snapcache = {} self.s_snapdict = snapdict # a seperate parser for each version... if snapdict['version'] == 1: self.s_version = snapdict['version'] self.s_threads = snapdict['threads'] self.s_regs = snapdict['regs'] self.s_maps = snapdict['maps'] self.s_mem = snapdict['mem'] self.metadata = snapdict['meta'] self.s_stacktrace = snapdict['stacktrace'] self.s_exe = snapdict['exe'] self.s_fds = snapdict['fds'] self.localvars = snapdict.get('vars', {}) else: raise Exception("ERROR: Unknown snapshot version!") # In the ghetto! archname = self.metadata.get('Architecture') envi.stealArchMethods(self, archname) vtrace.Trace.__init__(self) v_base.TracerBase.__init__(self) # This will re-init meta... *sigh* set it back... self.metadata = snapdict['meta'] # Steal the reg defs of the first thread rinfo = self.s_regs.items()[0][1] self.setRegisterInfo(rinfo) #FIXME hard-coded page size! self.s_map_lookup = {} for map in self.s_maps: for i in range(map[0],map[0] + map[1], 4096): self.s_map_lookup[i] = map # Lets get some symbol resolvers created for our libraries #for fname in self.getNormalizedLibNames(): #subres = e_resolv.FileSymbol(fname, self.running = False self.attached = True # So that we pickle self.bplock = None self.thread = None