我无法在 Ubuntu 12.04 上为我的 Tomcat 6 Web 应用程序设置远程调试。
我已经尝试过以下相关问题中提供的解决方案: Remote debugging Tomcat with Eclipse
排名最高的解决方案说我应该打开 catalina.sh 并将 JPDA_OPTS 变量更改为: JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
然后使用jpda启动tomcat:catalina.sh jpda start
我在 localhost 的 8000 端口检查了我的应用程序并收到“无法连接错误”。
下一个最佳解决方案是:
在 catalina.bat 文件中,请修改以下内容。
Step 1: CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
Step 2: JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
Step 3: Run Tomcat from command prompt like below: catalina.sh jpda start
当我检查 localhost 时,端口 8000 我得到了相同的“无法连接错误”。在这两次尝试之后尝试通过 Eclipse 连接到 tomcat 调试器给了我一个错误:
Failed to connect to remote VM. Connection refused.
Connection refused
这让我认为端口 8000 可能已关闭,所以我运行了一个 nmap 命令来显示我的“本地主机”上的哪些端口是打开的。它返回以下内容:
ryan@ryan-K53E:~$ nmap -v localhost
Starting Nmap 5.21 ( http://nmap.org ) at 2013-04-15 22:12 BST
Initiating Ping Scan at 22:12
Scanning localhost (127.0.0.1) [2 ports]
Completed Ping Scan at 22:12, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 22:12
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Discovered open port 53/tcp on 127.0.0.1
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 8080/tcp on 127.0.0.1
Discovered open port 631/tcp on 127.0.0.1
Completed Connect Scan at 22:12, 0.02s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00028s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
631/tcp open ipp
3306/tcp open mysql
8080/tcp open http-proxy
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds
这看起来确认端口 8000 已关闭,因此我将“tomcat-debug”定义为“/etc/services”文件中的服务,如下所示:
tomcat-debug 8000/tcp # Remote tomcat debugging
然后尝试使用以下命令使用 iptables 打开端口 8000:
sudo iptables -A INPUT -p tcp --dport tomcat-debug -j ACCEPT
这似乎没有什么不同,因为 nmap 仍然显示与以前相同的开放端口列表。在这里的任何帮助将不胜感激。