如何实现远程调试java代码

如何远程调试:
1、在要调试的服务A上添加启动参数
 
  -Xrunjdwp:transport=dt_socket,address=8791,server=y,suspend=n   8791为远程调试端口:端口可以设置


(1)、windows环境下tomcat设置jdk启动参数:

          

 在catalina.bat最前面加入

set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+PrintGCDetails -server

如果用startup.bat启动tomcat,OK设置生效.够成功的分配1024M内存.
如果是windows 系统服务启动tomcat服务,上面是不管用的。。。

如果是在IDE中执行启动,我们可以直接在启动参数中设置:;;;;



(2)、Linux环境下设置tomcat启动jdk启动参数

    首先我们显示下当前的jdk启动参数是多少:

     jps -v  查看启动参数

                         

然后找到/tomcat/bin/catalina.sh,打开该文件,在首行插入

JAVA_OPTS="-Xms1024m -Xmx1024m -Xss512K -XX:PermSize=256m -XX:MaxPermSize=256m"

---------------------------------------------------------------小插曲------------------------------------------------------------------------

Linux环境下,在查看启动参数的时候发现找不到命令jps。然后在网上看了一个教程:

说是先删除  /bin/java ------------- rm  /bin/java             :这的这个java是个软连接。我也就没看按着他的做了,做完之后发现错了,直接导致我的java -version都不能查看了,然后

执行echo $PATH 命令--发现环境中就直接没有了jdk的环境了,之前配置的环境变量没有了。然后我就去/etc/profile中查看,之前配置的东西都存在,然后我又执行了下source profile命令,将jdk环境添加到里面。但是echo $PATH 但是还是没有显示:实在不行我就init 6 重启Linux服务了。重启过来之后执行java -version 还是报 找不到相关命令。服了。。。。纠结了半天之后:在   /bin 下创建一个软连接 java,ln -s /www/bin/jdk1.8.../bin   java  创建一个java的软连接指向jdk下的bin目录,然后重启init 6 ,再执行java -version 发现好了。。。。。很无语吧,绕了一大圈。。。。。最后jps 命令也可以使用了,(jps命令是java自带的命令。相关知识可以查看百度)


2、在eclipse或者其他IDE工具类上创建远程Remote Java Application 应用,添加A服务的ip,端口为上面的8791.



3、远程连接失败:
    1、ping 一下ip 看下能联通
    2、telnet ip port  查看端口是否能联通
    3、端口连接不同:https://jingyan.baidu.com/article/4dc4084894f6a8c8d946f1e7.html         ------------这个是windows环境下的
        防火墙——>高级设置——>入站规则——>新建规则——>创建端口

猜你喜欢

转载自blog.csdn.net/try_harder_every_day/article/details/79024435