2011-04-28 63 views
1

远程调试我已经部署Linux服务器上的一些IP的应用程序说11.22.33.44与Eclipse和Tomcat

服务器详细

Java版本 - “1.6.0_14”

IP - 11.22。 33.44

当我开始我得到的服务器控制台上执行如下O/p 服务器 '-Xrunjdwp:交通= dt_socket,服务器= Y,暂停= Y,地址= 8004'

这意味着我已经设置所有所需的信息用于开始服务器在调试模式下

客户端侧设定(其它视窗7机)

有关连接属性上蚀细节如下 主机:11.22。 33.44(如上) 端口:8004(如上)

我想每一件事情做得正确,但仍然得到

无法连接到远程VM。连接refused.Connection超时:连接

错误

从我的客户端机器是Eclipse运行,我能够ping服务器的机器,即11.22.33.44

回答

2

听起来像一个防火墙问题。 你可以通过给定机器/端口上的命令行telnet吗? 试试这个:

telnet 11.22.33.44 8004 

如果失败,那么就意味着你的端口没有开放 - 无论是你的JVM忽略的参数,而不是侦听该端口或有防火墙阻止您访问。 为了确定它是哪一个,您可以登录到本机运行Tomcat和

telnet localhost 8004 

如果成功就意味着你的JVM是接受该端口上的远程调试连接,因此这个问题是在防火墙您网络,如果它失败了,意味着你没有用正确的远程调试参数启动JVM。

+0

当我在我的linux机器上做lsof -i然后** java 16295 cdc-ops 5u IPv4 13057055 TCP *:8004(LISTEN)**显示出来,意味着服务器在调试端口8004上运行 – punamchand 2011-04-28 10:58:51

+0

请原谅? :O你有没有遗漏你最近的评论? – Liv 2011-04-28 11:00:44

+0

上述语句是否意味着服务器正在接受端口8004处的连接 – punamchand 2011-04-28 11:13:56

0

检查以下内容后,会出现另一个错误来源:连接类型。因此,对于其他具有相同问题的人员,则应遵循此问题解决方案路径:

  1. Ping承载您的应用程序(服务器)的主机。如果不成功,请检查您的网卡是否与您的目标主机位于同一网络中 - 如果使用IP而不是主机。
  2. telnet你的主机。例如telnet 192.168.0.2 8889。如果你可以很快连接,那很好。看到连接被拒绝的消息是不成功的。 “由外国主机关闭的连接”虽然没有问题。
  3. 现在打开Eclipse并创建一个远程调试配置。输入您之前通过telnet登录的主机和端口。选择连接类型“标准(插座连接)”。注意,如果您在选择框中看到两个相同的实例,请同时尝试这两个。有时其中一个不起作用。

这应该这样做。如果没有,请留言,我帮忙。