本文主要参考慕课网若鱼老师课程Java生产环境下性能监控与调优详解
请支持正版,抵制盗版,维护每一位辛苦付出的人的合法权益!
本章关键词:Tomcat、远程debug
鸽了很久了,逐渐开始恢复更新,本系列暂时完结,完整版请移步慕课网
下个系列会是http协议,比较短的一个系列,前面已经写过一个开头了,后面会慢慢更新上去
一、tomcat远程debug
1、JDWP
JDWP是Java Debug Wire Protocol的缩写,它定义了调试器和被调试的Java虚拟机直接的通信协议。
2、tomcat开启JDWP
- 打开bin下面的startup.sh
vi ./bin/startup.sh
-
增加jpda
增加配置.png
-
修改catalina.sh文件
vi ./bin/catalina.sh
-
修改监听端口
修改监听端口.png
-
入口main函数要继承SpringBootServletInitializer,重写configure()方法
public class Application extends SpringBootServletInitializer{
//省略其他代码
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(MonitorTuningApplication.class);
}
}
注意:要打包成war包的形式,而不是jar包
3、ide开启debug
-
eclipse打开run->Debug Configurations
开启debug.png
debug配置.png
-
idea中开启远程debug
idea配置.png
idea配置debug.png
-
普通的java进程想要开启远程debug,只需要在启动脚本中加入如下代码即可
-agentlib:jdwp=transport=dt_socket,address=54321,server=y,suspend=n

网友评论