我可以退回到我的Jython脚本,但仅适用于1(!)行。您会看到Debugger很快突出显示了F6的下一行,但是它始终会恢复并跳出调试器。
我正在运行连接到Payara 5.184的Eclipse Oxygen.3a版本(4.7.3a)。 我从Payara REST-Servlet调用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(!)行。您会看到Debugger很快突出显示了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)