Interactive shell to a running Python process
github.com
github.com
I usually wrap it into our error logging functions, so an environment variable enables debugging where I would normally have a catch-all -- very handy when looking for heisenbugs in AndBug.
AntiLog -- https://gist.github.com/a256ed1295619fad7cfc
AndBug -- https://github.com/swdunlop/andbug
http://bazaar.launchpad.net/~gnome-terminator/terminator/tru...
and how it gets set up, starting at line 88, here:
http://bazaar.launchpad.net/~gnome-terminator/terminator/tru...
https://fedorahosted.org/pyrasite/
It was discussed here:
As the readme notes, it's completely unsafe if you perform any mutation operation.
As to the performance hit, I'd expect almost none when not in use for long-running processes: it spawns a thread, and that thread will then wait on a socket accept, no connection, no resources spent. You'll still be paying in memory for the server thread, but that's it (the server thread only creates two objects, an rlcompleter.Completer instance and a function).
https://github.com/albertz/Pyjector (and then access the ObjC runtime via the Python ObjC bridge)
http://www.cycript.org/ http://iphonedevwiki.net/index.php/Cycript
(And there have been various projects to provide some sub-capabilities for years.)