2、以dataease这个数据可视化分析工具为例, docker部署后在Inspect找到已经编译好的完整jar包,导出保存这个jar文件。
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=500
5 -jar /opt/apps/backend-1.18.4.jar
-p 127.0.0.1:5005:5005。
在docker远程调试时,部分项目需要修改容器内的配置文件,我们以elasticsearch的docker远程调试为例,介绍这种类型的调试方法:
1、调试elasticsearch,IDEA的debug配置要用大于JDK9的参数。
docker run --name elasticsearch --net elastic -p 9200:9200 -p 9300:9300 -p 5005:5005 -e "discovery.type=single-node" -t docker.elastic.co/elasticsearch/elasticsearch:8.10.2
5、在本地源码设置断点,使用dlv启动服务器上使用该源码编译好的可执行文件,触发断点,即可正常debug
dlv --listen=:2345 --headless=true --api-version=2 --accept-multiclient exec ./demo.exe
1、 远程服务器部署的是编译好的war包,在Eclipse中准备一份跟服务器war包对应的项目源代码。根据业务需要开启远程服务器端口,如8080,8000,9988:运行命令iptables -I INPUT -p tcp –dport 8080 -j ACCEPT
2、启动tomcat服务器前,在tomcat安装目录的bin目录下,在catalina.sh文件最后一行新增如下jvm参数用于调试端口通信
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6666"
3、运行startup.sh启动tomcat
4、在Eclipse中配置远程调试参数,依次选择debug-Debug Configurations-Java Application-Remote Java Application
作者:海边的小米粥
2024年3月29日
洞源实验室