Remote tracing

Hunter supports tracing local processes, with two backends: manhole (pip install 'hunter[remote]') and GDB.

Using GDB is risky (if anything goes wrong your process will probably be hosed up badly) so the Manhole backend is recommended. To use it:

from hunter import remote
remote.install()

You should put this somewhere where it’s run early in your project (settings or package’s __init__.py file).

The remote.install() takes same arguments as manhole.install(). You’ll probably only want to use verbose=False ...

The CLI

usage: hunter-trace [-h] -p PID [-t TIMEOUT] [--gdb] [-s SIGNAL]
                [OPTIONS [OPTIONS ...]]
positional arguments:
OPTIONS
optional arguments:
-h, --help show this help message and exit
-p PID, --pid PID
 A numerical process id.
-t TIMEOUT, --timeout TIMEOUT
 Timeout to use. Default: 1 seconds.
--gdb Use GDB to activate tracing. WARNING: it may deadlock the process!
-s SIGNAL, --signal SIGNAL
 Send the given SIGNAL to the process before connecting.

The OPTIONS are hunter.trace() arguments.