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)
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)