一、jar包启动
agentlib:jdwp 是 Java 调试工具的一部分,允许你在远程或本地调试 Java 应用程序。下面是如何使用 -agentlib:jdwp 进行调试的基本步骤:
1. 启动 JVM 时添加调试参数: 在启动 Java 应用程序时,在命令行中加入 -agentlib:jdwp 参数来启用调试模式。例如:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000 -jar your-app.jar
8000为开放的监听端口,已被占用自行更改。
2. 然后配置IDEA ,并启动
二、tomcat启动
1.查看.\catalina.bat文件是否有以下内容
JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
2. 如已有且配置address没问题,通过 .\catalina.bat jpda start 启动,默认调试监听端口是8000
3. IDEA同上,
常见问题排查:
1. 检查 Tomcat 输出
观察 Tomcat 启动时的输出,确认 -agentlib:jdwp 参数是否被正确加载。例如,输出应包含类似以下内容:
Listening for transport dt_socket at address: 8000
2. 确保环境变量 %JPDA_TRANSPORT%, %JPDA_ADDRESS%, 和 %JPDA_SUSPEND% 已经正确设置。你可以在 catalina.bat 和 startup.sh 文件中直接设置这些变量。
3. 检查端口是否被占用
Windows:
netstat -ano | findstr :8000
Linux/Mac:
sudo lsof -i :8000
4.检查日志
检查 Tomcat 的日志文件,通常位于 $CATALINA_HOME/logs 目录下,看看是否有任何错误信息或提示。
5. 检查防火墙设置
确保 Windows 防火墙或其他网络设备没有阻止端口通信。可以在 Windows 防火墙中添加一个例外规则,允许端口 800 通过。