Предположим, у него был бесконечный цикл.Как бы вы его нашли?
Я полагаю, вы просто приостановили бы его в отладчике и посмотрели бы код на различных уровнях стека, потому что вы знаете, что цикл находится где-то в стеке.Правильно?
Предположим, что цикл не бесконечен, просто занимает много времени.Это сильно отличается?
Неважно, в чем проблема, если это будет стоить вам несколько процентов времени, например, 90%, или 50%, или 20%, это вероятность того, что вы поймете это в действиикогда вы остановитесьТак что, если вы сделаете паузу несколько раз, вы увидите это.Чем хуже, тем меньше раз вам приходится его останавливать и смотреть.Это будет очевидно.
Так что забудьте о времени. Просто выясните, что он делает.
В ответ на вопрос вот какой документ mod_python:
5.4.1 Синтаксис PythonEnablePdb:
PythonEnablePdb {Вкл., Выкл.}
По умолчанию: PythonEnablePdb Выкл.
Контекст: конфигурация сервера, виртуальный хост, каталог, htaccess Переопределение: нет Нет Модуль: mod python.c Если включено, мод python будет выполнять функции-обработчики в пределахОтладчик Python pdb с использованием функции pdb.runcall ().Поскольку pdb - это интерактивный инструмент, при использовании этой директивы запустите httpd из командной строки с параметром -DONE PROCESS.Как только код вашего обработчика введен, вы увидите приглашение Pdb, позволяющее вам пройтись по коду и изучить переменные.
5.4.2 Синтаксис PythonDebug:
PythonDebug {On, Off} По умолчанию: PythonDebugВыкл. Контекст: конфигурация сервера, виртуальный хост, каталог, htaccess. Переопределение: нет. Нет. Модуль: mod python.c Обычно выходные данные обратной трассировки, полученные из-за неперехваченных ошибок Python, отправляются в журнал ошибок.Если указана директива PythonDebug On, выходные данные будут отправляться клиенту (а также журналу), за исключением случаев, когда во время записи возникает ошибка IOError, и в этом случае она попадает в журнал ошибок.Эта директива очень полезна в процессе разработки.Рекомендуется не использовать его в производственной среде, поскольку он может раскрыть клиенту непреднамеренную, возможно, важную информацию о безопасности.