python-ptrace / TODO


Main tasks

 * Remove ptrace.ctypes_stdint
 * Fix --socketcall: SyscallState.enter() calls ignore_callback
   before socketcall are proceed
 * Support other backends:

    - GDB MI:
    - ktrace: (FreeBSD and Darwin): would help Darwin support
    - utrace (new Linux debugger):
    - vtrace?
    - PyDBG: works on Windows

 * Backtrace symbols:

   - GNU BFD?
   - elfsh?
   - addr2line program?
   - See dl_iterate_phdr() function of libdl

 * Support other disassemblers (than distorm), and so both Intel syntax (Intel and AT&T)

   - BFD
   - libasm (ERESI)
   - libdisasm (bastard)

 * Support threads: other backends (than python-ptrace) already support threads

Minor tasks

 * convert docstrings with 2to3 (run "2to3 -w -d ." ?)
 * Fix "step" command on a jump. Example where step will never stop: ::

(gdb) where
ASM 0xb7e3b917: JMP 0xb7e3b8c4 (eb ab)
ASM 0xb7e3b919: LEA ESI, [ESI+0x0] (8db426 00000000)

 * Remove "except PtraceError, err: if err.errno == ESRCH" hack,
   process death detection should be done by PtraceProcess or PtraceDebugger
 * Use Intel hardware breakpoints: set vtrace source code
 * Support Darwin:

   - ktrace? need to recompile Darwin kernel with KTRACE option
   - get registers: