Pydev "выпрыгивает из отладчика" (Eclipse & Payara & Jython) - PullRequest
0 голосов
/ 06 января 2019

Я могу вернуться к своему скрипту Jython, но только на 1 (!) Строку. Вы видите, что отладчик очень скоро выделяет следующую строку на F6, но затем он всегда возобновляется и выпрыгивает из отладчика.

Я использую Eclipse Oxygen.3a Release (4.7.3a), подключенный к Payara 5.184. Из REST-сервлета Payara я вызываю скрипт Jython 2.7. Хорошо работает без отладки, даже с reload () для непрерывного развития.

Теперь я настроил Pydev 7.03, который прекрасно работает с Python / Jython и Oxygen.

Конечно, с сервером отладчика Pydev и кодами:

import pydevd; pydevd.settrace()

То, что происходит потом, не очень предсказуемо. Иногда код останавливается в отладчике, но только при первом запуске.

import pydevd
reload(pydevd)
pydevd.settrace()

помогает. а иногда отладчик прыгает в

def register(func, *targs, **kargs).., in atexit.py

Оттуда я могу вернуться к своему сценарию Jython, но только на 1 (!) Строку. Вы видите, что отладчик очень скоро выделяет следующую строку на F6, но затем он всегда возобновляется и выпрыгивает из отладчика.

Конечно, Payara не любит собственные темы (я думаю, что Pydev открывает их), но в прошлом (3 года назад или около того ...) это работало как-то.

Я также прочитал "http://pydev.blogspot.com/2007/06/why-cant-pydev-debugger-work-with.html" - но я не мог решить это с этими подсказками.

У кого-нибудь есть идея?

ДОПОЛНЕНИЕ: журнал сервера сообщает следующее (sys.settrace не вызывается мной ...)

2019-01-07T10:16:04.182+0100|Severe: PYDEV DEBUGGER WARNING:
sys.settrace() should not be used when the debugger is being used.
This may cause the debugger to stop working correctly.
If this is needed, please check: 
http://pydev.blogspot.com/2007/06/why-cant-pydev-debugger-work-with.html
to see how to restore the debug tracing back correctly.
Call Location:
  File "C:\programs\payara51\glassfish\domains\domain1\applications\xse-1.0-SNAPSHOT\WEB-INF\lib\Lib\_pydevd_bundle\pydevd_tracing.py", line 72, in SetTrace
    sys.settrace(tracing_func)
...