我在Eclipse上使用play 2.1.2和Java 1.7。
这是一个两部分问题。 1)我们如何远程调试在play框架上运行的进程 2)如何将调试端口限制为服务器上运行的众多播放进程之一?
我正在尝试调试我们正在运行游戏框架的网站。我们想对它进行远程调试。我被告知要添加一些JAVA_OPTS,所以我们可以这样做但是我们正在为这个网站运行两个播放进程,一个用于UI,一个用于查询API。如果我将JAVA_OPTS定义为在特定端口上进行调试,我认为所有播放进程都将使用该端口进行调试。如何进行播放允许我们调试UI进程,以便调试端口仅由UI进程使用?
我们在脚本中正在执行的是
export JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8765"
cd to_UI_dir
play start -Dhttps.port=9004 -Dhttps.keystorePassword=blah etc.
cd to_API_dir
play start -Dhttps.port=9007 -Dhttps.keystorePassowrd=blah2 etc.
第二个问题是:
当我们对此运行ps -ef | grep debug
时,由play运行的java命令与我们在JAVA_OPTS中定义的命令不匹配。
用户3500 3490 99 13:26? 00:37:43 java -Xms512M -Xmx1536M -Xss1M -XX:+ CMSClassUnloadingEnabled -XX:MaxPermSize = 384M -Xdebug -Dfile.encoding = UTF-8 -Dplay.version = 2.1.2 -Dsbt.ivy.home = / glide / bigdata / play-2.1.2 / framework /../repository -Dplay.home = / glide / bigdata / play-2.1.2 / framework -Dsbt.boot.properties = / glide / bigdata / play-2.1.2 / framework / sbt / sbt.boot.properties -jar /glide/bigdata/play-2.1.2/framework/sbt/sbt-launch.jar start --Dhttps.port = 9004 -Dhttps.keyStore = conf / stats.jks -Dhttps.keyStorePassword = password -Dconfig.resource = ssl.conf中
在这里,我们只看到-Xdebug选项,而不是我们定义的其他内容。我们如何使用我们定义的所有JAVA_OPTS,以便我们可以调试该过程?