While investigating Datasette issue #1268 I found myself with a Python process that was hanging, and I decided to try running gdb against it based on tips in Debugging of CPython processes with gdb
Here's the recipe that worked:
docker ps - in my case it was 16197781a7b5
gdb to work): docker exec --privileged -it 16197781a7b5 bash
gdb and the Python tooling for using it: apt-get install gdb python3-dbg
top to find the pid of the running Python process that was hanging. It was 20 for me.gdb /usr/bin/python3 -p 20 to launch gdb against that process(gdb) prompt run py-bt to see a backtrace.I'm sure there's lots more that can be done in gdb at this point, but that's how I got to a place where I could interact with the Python process that was running in the Docker container.
Created 2021-03-21T22:48:21-07:00 · Edit