运行弹性beanstalk java应用程序(不是tomcat)时,如何启用远程调试?
AWS documentation 通过指定启动java进程的命令,显示如何为应用程序实现它。
但是如果我想单独部署SAME应用程序(例如dev和prod部署),并且只想为dev启用远程调试,那么如何实现呢?
答案 0 :(得分:3)
这可以通过使用_JAVA_OPTIONS
环境变量来实现,如here所述。
环境变量的名称可能因JVM供应商而异,但目前弹性beanstalk使用OpenJDK,它尊重_JAVA_OPTIONS
[webapp@ip-XXXXXXX ~]$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
您只能在要启用调试的弹性beanstalk环境中设置此环境变量。例如
_JAVA_OPTIONS=-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=5001,suspend=n
注意:
答案 1 :(得分:0)
我认为您可以将aws工具插件用于Eclipse https://aws.amazon.com/eclipse/
选中该框并保存,将允许用户进行远程调试。
或在AWS控制台> Elastic Beanstalk>配置> JVM选项中更改
以上是JDK5之前的JDK
对于JDK8:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787