记录日常开发中碰到的问题,避免下次依旧无法解决
大家都知道idea,eclipse的debug都是依赖与java agent 与Debug的jmx的技术
最近要开始将公司的一个webapp的老工程迁移到前后端分离工程,以前都是用eclipse+jetty运行的,今天想试试idea运行起来,不想多个ide切换来切换去,在运行tomcat期间发现存在以下报错:
but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
于是就想着给tomcat加大下堆栈内存,于是加了如下的配置
此时我还没有意识到问题的严重
后面工程启动起来了,却发现一直无法debug,百度了各种情况都不知道什么原因,最后看了下启动日志,发现agent参数没有生效,发现在debug参数中,两个同样的key后面将前面覆盖了,于是将启动参数修改成如下成功debug,简直坑啊
JAVA_OPTS=-agentlib:jdwp\=transport\=dt_socket,address\=127.0.0.1:1025,suspend\=y,server\=n -javaagent:C:\Users\shanxxx\AppData\Local\JetBrains\IntelliJIdea2020.2\groovyHotSwap\gragent.jar,-Xms1024m -Xmx1024m
ps:我甚至怀疑tomcat每次启动两次可能都跟这个配置有关,希望大家能避免出现如此低级错误