Eclipse上Tomcat远程调试

一.Tomcat远程调试是为了什么?

        伴随系统上线后,由于服务器的上运行的项目具有封闭性,只能通过操作日志以及错误日志分析来定位问题,但有时候,错误日志没有针对性,给开发人员分析问题带来了很大的难度和不便,如果开发人员能够对线上的项目进行实时调试,那么问题就会迎刃而解,tomcat远程调试就有了发挥的作用!

二.Tomcat远程调试的条件有哪些?

       1.服务器上正在运行的项目。

        2.本地eclipse上有与服务器源代码相同的项目。

三.配置服务器上的tomcat

       1.找到tomcat的bin文件的路径,例如我的路径为:C:\user-lml\Tomcat\apache-tomcat-9.0.12\bin

       2.在bin路径下新建一个类型为bat的文件,例如我的名字为debug.bat,里面放入如下配置:

       SET JAVA_HOME=D:\Program Files\Java\jdk1.8.0_161
       SET TOMCAT_HOME=C:\Program Files\Tomcat 8.5

        set JPDA_TRANSPORT=dt_socket
        set JPDA_ADDRESS=9000
        catalina.bat jpda start

       3.双击debug.bat启动项目,如果想直接通过debug.bat去启动一个项目,需要在server.xml进行如下配置,

         例如我的路径为:C:\user-lml\Tomcat\apache-tomcat-9.0.12\conf下的server.xml,如下图所示,在Host标签下新增Context   标签的内容,图中圈出来的地方需要自行修改为你自己的实际配置

       Eclipse上Tomcat远程调试_第1张图片

配置文字如下所示: 

                    path="" reloadable="true">

                                             driverClassName="com.mysql.jdbc.Driver" factory="com.alibaba.druid.pool.DruidDataSourceFactory"
                        filters="stat,mergeStat" initialSize="20" logAbandoned="true"
                        maxActive="120" maxIdle="40"
                        maxPoolPreparedStatementPerConnectionSize="20" maxWait="60000"
                        minIdle="20" name="jdbc/press" password="root"
                        poolPreparedStatements="true" removeAbandoned="true"
                        removeAbandonedTimeout="1800" testWhileIdle="true" type="javax.sql.DataSource"
                        url="jdbc:mysql://192.168.36.7:3306/zcm?autoReconnect=true&useUnicode=true&characterEncoding=utf-8"
                        username="root" validationQuery="select 1 from dual" />
                    
                

4.启动成功后会在tomcat控制台打印如下图所示的内容并且项目启动成功,则服务器上的tomcat就配置ok啦:

Eclipse上Tomcat远程调试_第2张图片

 四.最后在本地eclipse打开如下所示的窗口,配置信息进行debug即可,如下图所示:

右击项目鼠标移到  Debug As上打开 Debug configurations窗口,其中Host是服务器的ip,项目必须和服务器上的项目源代码相同,Port必须是你自己在debug.bat中设置的set JPDA_ADDRESS=9000的值,点击Debug按钮即可,在本地打断点,运行服务器上的客户端程序,本地可以追踪服务器运行的代码!

Eclipse上Tomcat远程调试_第3张图片

你可能感兴趣的:(Eclipse上Tomcat远程调试)