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
docker exec --privileged -it 16197781a7b5 bash
gdband the Python tooling for using it:
apt-get install gdb python3-dbg
topto find the pid of the running Python process that was hanging. It was
gdb /usr/bin/python3 -p 20to launch
gdbagainst that process
py-btto 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