Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这两个JVM实例是否会造成远程调试的混乱_Java_Linux_Eclipse_Tomcat_Jvm - Fatal编程技术网

Java 这两个JVM实例是否会造成远程调试的混乱

Java 这两个JVM实例是否会造成远程调试的混乱,java,linux,eclipse,tomcat,jvm,Java,Linux,Eclipse,Tomcat,Jvm,为了通过ubuntu服务器远程调试运行在tomcat7中的应用程序,我设置了以下变量 export CATALINA_HOME=/usr/share/tomcat7 export CATALINA_BASE=/var/lib/tomcat7/ export JPDA_ADDRESS=8090 export JRE_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 然后我转到tomcat主文件夹/usr/share/tomcat7/bin,并编写以下代码以调试

为了通过ubuntu服务器远程调试运行在tomcat7中的应用程序,我设置了以下变量

export CATALINA_HOME=/usr/share/tomcat7
export CATALINA_BASE=/var/lib/tomcat7/
export JPDA_ADDRESS=8090
export JRE_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
然后我转到tomcat主文件夹
/usr/share/tomcat7/bin
,并编写以下代码以调试模式运行tomcat

\#./catalina.sh jpda start
然后我尝试远程连接,但连接被拒绝。我用
netstat-ln
检查了80和8090端口都在侦听,然后我使用
服务tomcat7 stop
停止tomcat,然后我的80端口停止侦听,我也能够远程连接


作为一名学习者,我需要知道这是什么原因?是不是有点像两个jvm,一个是用调试器启动的,另一个是简单的,但有点混乱?但是我在另一个端口上安装了它,为什么我无法连接到它?

这里有一个想法,您可以在停止tomcat服务之前和之后检查8090上侦听进程的pid。只是附带说明:您不应该允许通过开放internet访问这些端口,因为调试允许执行任意代码。将调试套接字绑定到本地主机并通过SSH进行隧道传输是非常困难的preferable@the8472谢谢你的回复,但我很抱歉我真的不理解你所说的与我的问题有任何联系,请你解释一下我可能遗漏了什么…非常感谢你提前在非特权港口运行tomcat。这可能是tomcat实例正在侦听的端口80的问题。例如,它可能与端口8080(或大于1024的任何端口)一起工作。