1. 测试的web项目
package com.signalfire.servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Created by jk on 2017/12/12.
*/
public
class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println(
"111111111111111111");
resp.getWriter().write(
"hello baby");
resp.getWriter().flush();
}
}
<web-app>
<display-name>Archetype Created Web Application
</display-name>
<servlet>
<servlet-name>my
</servlet-name>
<servlet-class>com.signalfire.servlet.HelloServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>my
</servlet-name>
<url-pattern>/*
</url-pattern>
</servlet-mapping>
</web-app>
2. tomcat
- 打war包部署到tomcat中
- 使用默认配置启动tomcat调试[root@mytest bin]# ./catalina.sh jpda start
默认情况下,远程调试的默认端口为8000,可以通过JPDA_ADDRESS进行配置,指定自定义的端口,另外,还有两个可以配置的参数
- JPDA_TRANSPORT:即调试器和虚拟机之间数据的传输方式,默认值是dt_socket
- JPDA_SUSPEND:即JVM启动后是否立即挂起,默认是n
可以在catalina.sh中进行配置:JPDA_TRANSPORT=dt_socketJPDA_ADDRESS=5005JPAD_SUSPEND=n
3. idea配置远程调试
3.1. 配置
3.2. debug启动
3.3. 结果
4. 调试java程序
在远程服务器上java启动参赛要加上调试的参数:
“-Xdebug -Xrunjdwp:transport=dt_socket,address=2345,server=y,suspend=n”