úÎr†P      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPP Q     !"#$%&'()*+,-./R !"#$%&'()*+,-./ !"#$%&'()*+,-./ !"#$%&'()*+,-./ !"#$%&'()*+,-./0S1T23401234243100124334-UVWXYZ[\]^_`abcde5fghi76Invoke the ptrace system call with various arguments. ,Perform one of the PTRACE_PEEK* operations. ,Perform one of the PTRACE_POKE* operations. +Perform one of the PTRACE_GET* operations. +Perform one of the PTRACE_SET* operations. Resume a traced process. +Attach the parent process to this process. 8Attach to a process. & FIXME: handle EPERM. return IO Bool? 9:%Read a word from the traced process. ;<=$Write a word to the traced process. >?@5Continue the traced process, possibly with a signal. ABC#Send the traced process a SIGKILL. DEjklmFGno56789:;<=>?@ABCDEFG56789:;<=>?@ABCDEFG5789:;<=>?@ABCDEFG HpIJAttach to an existing process KAttach to a new process -traceForkExec :: IO () -> FilePath -> [String] -> IO TracedProcess #traceForkExec setup file argv = do  pid  - fork (setup &> ptrace_traceme >> execvp file argv)  waitpid pid  return $ TracedProcess pid *Continue a process until it hits a signal % FIXME: return info about the signal LMNOqrs 56HIJKLMNO HII56JKLNOMHIIJKLMNOt      !"##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi9jklmnopqrLstuvlinux-ptrace-0.1.2System.Linux.Ptrace.X86_64RegsSystem.Linux.Ptrace.X86RegsSystem.Linux.Ptrace.TypesSystem.Linux.Ptrace.SyscallSystem.Linux.PtraceSystem.Linux.Ptrace.GenStruct X86_64Regsr15r14r13r12rbprbxr11r10r9r8raxrcxrdxrsirdiorig_raxripcseflagsrspssfs_basegs_basedsesfsgsX86Regsebxecxedxesiediebpeaxxdsxesxfsxgsorig_eaxeipxcsespxss Csiginfo_tCuser_fpregs_structRegsX86_64X86 RemotePtr castRemotePtrptrace_traceme ptrace_attachptrace_peektextptrace_peekdataptrace_peekuserptrace_poketextptrace_pokedataptrace_pokeuser ptrace_contptrace_syscallptrace_singlestep ptrace_detach ptrace_killptrace_getregsptrace_setregsptrace_setoptionsptrace_geteventmsg TracedProcesspid traceProcesscontinuedetachpeek peekBytes pokeBytes genStruct x86_64_regsx86_regsCSICUFSc_ptraceOption TraceExitTraceVForkDone TraceExec TraceClone TraceVFork TraceFork TraceSysGoodEvent EventExitEventVForkDone EventExec EventClone EventVFork EventForkDataArgeventhandlePtraceResultthrowErrnoIfSetptrace_getfpregsptrace_setfpregs optionCode optionsCodeptrace_getsiginfoptrace_setsiginfounsafeMapBytesunsafeMapBytesLchunksOf