欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何实现远程调试java代码

程序员文章站 2024-01-26 15:26:28
...
如何远程调试:
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  查看启动参数

                          如何实现远程调试java代码

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

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

如何实现远程调试java代码

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

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.

如何实现远程调试java代码


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