0

我正在尝试使用 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

但是,我遇到了以下配置假定等效的问题(无法附加远程调试器):

wrapper.java.debug.port=*:8888

注1:对于JDK>=9,需要在端口#前面提供IP地址或主机名,否则只接受本地连接(因此有“*:”前缀)
注2:“wrapper.java.debug.port”选项还将设置友好的超时值,以允许最终用户进行远程调试,而不必担心超时问题,这就是我渴望使用它的原因。

有没有办法通过使用 JDK>=9 的“wrapper.java.debug.port”选项来进行远程调试?

非常感谢您的反馈。

此致

4

1 回答 1

0

从 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” 。暂停”

于 2020-06-12T12:45:50.727 回答