python-ptrace is a debugger using ptrace written in Python. It's able to control multiple processes, read/write bytes, perform breakpoint and step by step execution, use a disassembler, syscall tracer, and parser, explain why a signal is raised, dump registers, stack, and memory mappings, etc.
| Tags | Software Development Debuggers |
|---|---|
| Licenses | GPLv2 |
| Operating Systems | POSIX Linux BSD |
| Implementation | Python |
Recent releases


Changes: python-ptrace now depends on Python 2.5. When invalid memory access is detected, the fault address is added in the name. The -i (--show-ip) option was added to strace.py to show the instruction pointer. A new example (itrace.py) was added, based on strace.py. The Python 3.0 conversion patch was updated.


Changes: This release has an example (the most simple debugger) and the beginnings of code documentation. It has a "dbginfo" command for gdb.py. It parses socket syscalls on FreeBSD. On invalid memory access (SIGSEGV), the dereference expression is evaluated to get the fault address on OS without siginfo (eg. FreeBSD). There are fixes to achieve minimal Windows support (imports, locateProgram(), etc.).


Changes: A typographical error was fixed in gdb.py. A typographical error was fixed in the SignalInfo class. When a process received a SIGCHLD signal (because of a fork), the debugger exited because of this bug. Debugger._wait() returned an abnormal process exit as a normal event, and the event was not raised as an exception. PtraceSignal does not clear preformatted arguments (such as arguments of execve).


No changes have been submitted for this release.