常见的中间件启动脚本中都内置了调试参数,如Tomcat的bin/catalina.sh就内置了调试参数:
    6. 5. 调试Tomcat示例 - 图1
    但最简单直接的方式是直接在Tomcat的启动脚本catalina.sh(Windows换成catalina.bat)中添加Debug参数即可:

    1. JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"

    6. 5. 调试Tomcat示例 - 图2
    然后再使用catalina.sh启动Tomcat就会发现Tomcat会处于等待远程连接状态:
    6. 5. 调试Tomcat示例 - 图3
    接下来就只需要导入Tomcat的jar并设置断点就可以调试了。
    添加Tomcatlib目录到IDEAclasspath:
    6. 5. 调试Tomcat示例 - 图4
    展开左侧External Libraries->lib->选择需要断点的类->点击工具栏的Debug:
    6. 5. 调试Tomcat示例 - 图5
    然后在webapps/ROOT目录下新建一个test.jsp:

    1. <%=request.getParameter("id")%>

    最后点击工具栏的Debug后控制台的Tomcat就会自动启动,知道触发断点为止,上图示例中我设置的断点是org.apache.catalina.connector.RequestFacade#getParameter,所以需要使用浏览器请求任意页面并传入参数(访问http://localhost:8080/test.jsp?id=yzmm)即可进入断点:
    6. 5. 调试Tomcat示例 - 图6
    其实调试Tomcat最简单的方式是直接启动一个Maven Web项目并使用Tomcat启动,然后在pom.xml中配置对应版本的Tomcat的依赖就可以直接Debug了,使用这种调试方法可以让您学会如何使用IDEA调试任意的Java程序,仅此而已。