Метод для заглядывания на программу Python, работающую прямо сейчас

Используя плагин зависимости знатока :

mvn dependency:tree

15
задан Community 23 May 2017 в 10:29
поделиться

6 ответов

Если у вас работает Python, которого не было ' t построен с использованием любого механизма трассировки или ведения журнала, и вы хотите увидеть, что он делает внутри, тогда есть два варианта:

8
ответ дан 1 December 2019 в 00:59
поделиться

Лично я предпочитаю ipdb . Это pdb с добавленной добротой IPython . Это больше похоже на интерактивный интерпретатор Python с несколькими клавишами для отладки функций.

2
ответ дан 1 December 2019 в 00:59
поделиться

Если вас устраивает сбой, вставка «1/0» создаст быструю и грязную точку останова с полной трассировкой!

0
ответ дан 1 December 2019 в 00:59
поделиться

Если вы поместите

import code
code.interact(local=locals())

в любой момент своего скрипта, python создаст экземпляр оболочки python именно в этой точке, которая имеет доступ ко всему в состоянии скрипта в этот момент. ^ D выходит из оболочки и возобновляет выполнение после этой точки.

Вы даже можете изменить состояние в этой точке из оболочки, вызывать функции и т. Д.

26
ответ дан 1 December 2019 в 00:59
поделиться

Чтобы "вывести" из строя программу python с трассировкой стека, вы можете отправить ей SIGINT, то есть если вы не перехватите ее или не поймаете KeyboardInterrupt (python по умолчанию устанавливает обработчик SIGINT, который вызывает KeyboardInterrupt).

Что касается отладки, разве PyDev не имеет встроенной поддержки отладки (через pdb)?

4
ответ дан 1 December 2019 в 00:59
поделиться

Установить обработчик сигнала, который устанавливает функцию трассировки с помощью sys.settrace () , которая печатает трассировку и очищает функцию очистки трассировки. Это позволит вам в любой момент увидеть, где находится ваша программа, не прерывая ее. Обратите внимание, что этот сигнал обрабатывается после каждой sys.getcheckinterval () инструкций python.

0
ответ дан 1 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: