def start(self): pid = createChild(["/tmp/test"], False) debugger = PtraceDebugger() debugger.addProcess(pid, True) debugger.enableSysgood() process = debugger[pid] process.syscall() e = process.waitEvent() assert isinstance(e, ptrace_debugger.ProcessSignal) return debugger, process
def main(): if len(argv) < 2: usage() # create process env = None arguments = argv[1:] arguments[0] = locateProgram(arguments[0]) pid = createChild(arguments, False, env) # create debugger debugger = PtraceDebugger() debugger.enableSysgood() debugger.traceExec() debugger.traceFork() # attach process debugger.addProcess(pid, True) process = debugger[pid] process.syscall() # start event loop loop(debugger) debugger.quit()