예제 #1
0
 def ptraceEvent(self, event):
     debug("%s received ptrace event %s" % (self, event))
     if event not in NEW_PROCESS_EVENT:
         raise ProcessError(self, "Unknown ptrace event: %r" % event)
     new_pid = ptrace_geteventmsg(self.pid)
     debug("ptrace event %s from %s: new pid=%s" %
           (event, self, new_pid))
     new_process = self.debugger.addProcess(new_pid,
                                            is_attached=True,
                                            parent=self)
     return NewProcessEvent(new_process)
예제 #2
0
 def ptraceEvent(self, event):
     if not HAS_PTRACE_EVENTS:
         self.notImplementedError()
     if event in NEW_PROCESS_EVENT:
         new_pid = ptrace_geteventmsg(self.pid)
         new_process = self.debugger.addProcess(new_pid,
                                                is_attached=True,
                                                parent=self)
         return NewProcessEvent(new_process)
     elif event == PTRACE_EVENT_EXEC:
         return ProcessExecution(self)
     else:
         raise ProcessError(self, "Unknown ptrace event: %r" % event)