我正在尝试使用JDK>=9远程调试一个用yajsw包装的应用程序。
抛开超时问题不谈,tt在以下配置下工作得很好:
wrapper.java.additional.2.1=-Xdebug
wrapper.java.additional.2.2=-Xrunjdwp:transport=dt_socket\,server=y\,suspend=y\,address=*:8888然而,我遇到了一些问题(无法附加远程调试器),假设等同于下面的config:
wrapper.java.debug.port=*:8888Note1:对于JDK>=9,需要在端口#前面提供IP地址或主机名,否则只接受本地连接(因此使用"*:“前缀)
Note2:"wrapper.java.debug.port“选项还将设置友好的超时值,以允许最终用户进行远程调试,而不必担心超时问题,这就是我渴望使用它的原因。
有没有办法在JDK>=9中使用"wrapper.java.debug.port“选项进行远程调试?
提前感谢您的反馈。
诚挚的问候
发布于 2020-06-12 20:45:51
从yajsw 12.14开始,在查看源代码之后,似乎不可能使用wrapper.java.debug.port选项来引用不同的主机名:
WrappedJavaProcess.java摘录:
int port = _config.getInt("wrapper.java.debug.port", -1);
if (port != -1)
{
result.add("-Xdebug");
result.add("-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address="
+ port);
}对于超时值,为了达到和wrapper.java.debug.port一样的效果,需要设置以下3个较大的值:wrapper.startup.timeout、wrapper.shutdown.timeout和wrapper.ping.timeout
https://stackoverflow.com/questions/62340337
复制相似问题