Если вы работаете в системе Linux, используйте удивительную gdb
с расширениями отладки Python (может быть в пакете python-dbg
или python-debuginfo
). Это также помогает с многопоточными приложениями, приложениями с графическим интерфейсом и модулями C.
Запустите вашу программу с:
$ gdb -ex r --args python <programname>.py [arguments]
Это инструктирует gdb
подготовить python <programname>.py <arguments>
и r
un it.
Теперь, когда ваша программа зависает, переключитесь на консоль gdb
, нажмите Ctr + C и выполните:
(gdb) thread apply all py-list
См. пример сеанса и дополнительную информацию здесь и здесь .