Используя плагин зависимости знатока :
mvn dependency:tree
Если у вас работает Python, которого не было ' t построен с использованием любого механизма трассировки или ведения журнала, и вы хотите увидеть, что он делает внутри, тогда есть два варианта:
На Solaris или Mac, если вы используете предоставляемый системой Python, используйте dtrace
используйте gdb для подключения к работающему процессу Python ,
Лично я предпочитаю ipdb . Это pdb с добавленной добротой IPython . Это больше похоже на интерактивный интерпретатор Python с несколькими клавишами для отладки функций.
Если вас устраивает сбой, вставка «1/0» создаст быструю и грязную точку останова с полной трассировкой!
Если вы поместите
import code
code.interact(local=locals())
в любой момент своего скрипта, python создаст экземпляр оболочки python именно в этой точке, которая имеет доступ ко всему в состоянии скрипта в этот момент. ^ D выходит из оболочки и возобновляет выполнение после этой точки.
Вы даже можете изменить состояние в этой точке из оболочки, вызывать функции и т. Д.
Чтобы "вывести" из строя программу python с трассировкой стека, вы можете отправить ей SIGINT, то есть если вы не перехватите ее или не поймаете KeyboardInterrupt (python по умолчанию устанавливает обработчик SIGINT, который вызывает KeyboardInterrupt).
Что касается отладки, разве PyDev не имеет встроенной поддержки отладки (через pdb)?
Установить обработчик сигнала, который устанавливает функцию трассировки с помощью sys.settrace ()
, которая печатает трассировку и очищает функцию очистки трассировки. Это позволит вам в любой момент увидеть, где находится ваша программа, не прерывая ее. Обратите внимание, что этот сигнал обрабатывается после каждой sys.getcheckinterval ()
инструкций python.