Exemple #1
0
    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()