Remote tracing

Hunter supports tracing local processes, with two backends: manhole and GDB. For now Windows isn’t supported.

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.