The pystack-debugger is to python as jstack is to java.
It's a debug tool to print python threads or greenlet stacks.
Idea stolen from pyrasite.
$ pip install pystack-debugger
You may need to run it with sudo
.
$ sudo pystack [--include-greenlet] <pid>
The pystack is compatible with CPython 3.8+ in both client side (the debugger) and server side (the destination process).
Using PyPy may work in client side (the debugger) but it is untested. Do not attempt to attach a PyPy process as destination. It may lead to unexpected and undefined behavior, because the pystack debugger uses gdb/lldb to invoke the CPython ABI.
Run testing on a container environment:
$ podman machine start
$ ./test.sh
$ ./test.sh coverage html