Java-Note-Debug-使用Intellij Remot
2018-05-11 本文已影响0人
1nfinity
- 环境配置
- 远程服务器
- 操作系统: centos 6.5
- tomcat版本: 8.0
- 远程服务器
- 步骤
- 打开端口8000(如果是云服务器还需打开8000端口的入站流量)
- 修改远程tomcat服务器配置: 使用catalina.sh代替startup.sh来启动
- 关闭远程tomcat:
cd /var/tomcat/tomcat-8/bin ./shutdown.sh
- 修改catalina.sh中的代码, 将
中的if [ "$1" = "jpda" ] ; then if [ -z "$JPDA_TRANSPORT" ]; then JPDA_TRANSPORT="dt_socket" fi if [ -z "$JPDA_ADDRESS" ]; then JPDA_ADDRESS="localhost:8000" fi if [ -z "$JPDA_SUSPEND" ]; then JPDA_SUSPEND="n" fi if [ -z "$JPDA_OPTS" ]; then JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" fi CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS" shift fi
JPDA_ADDRESS="localhost:8000"
改为JPDA_ADDRESS="0.0.0.0:8000"
. 因为0.0.0.0表示所有的ip地址都可以访问,JPDA
是指Java Platform Debugger Architecture
, 是一种专门用于Java调试的架构: JPDA.- 重启tomcat:
./catalina.sh jpda start
- 修改本地Intellij配置
- 在
Edit Configuration
中增加一个Remote
, 将里面的Port改为8000, 保存然后点击debug按钮 - 当出现
Connected to the target VM, address: 'x.x.x.x:8000', transport: 'socket'
时表示远程连接调试端口成功, 可以开始调试
- 在
- 注意: 在步骤3的1中, 如果出现
Unable to open debugger port (x.x.x.x:8000): java.net.ConnectException "Connection refused: connect"
说明调试端口为对客户端开放, 此时可以在远程服务器上使用netstat -ntlp
查看开放的端口, 有可能没有开放8000端口或者开放的是127.0.0.1:8000
而不是0.0.0.0:8000