我有从VSCode运行的Tomcat 8.5,并且在JVM Options文件中使用以下行来启用调试:
-agentlib:jdwp=transport=dt_socket,address=20000,server=y,suspend=n
当我有那条线时,我可以调试很好,但是似乎无法通过右键单击Tomcat服务器并选择Stop来停止Tomcat的运行,如下所示:
...它给了我这个错误:
[Tomcat 8.5]: ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
当我删除JVM Options行时,我无法再调试,但是我可以停止服务器。
是否有任何方法可以调试并停止服务器以使其相互配合?
p.s。与此类似的其他问题也涉及其他IDE,因此我需要一种干净的方法来使其在VSCode中工作。还有一些问题,例如this之类的答案极富争议,它们与我的不完全相同,它们的错误消息略有不同,并且与VSCode的调试环境无关。
在链接的问题中有一些建议将调试选项从“ JAVA_OPTS”移动到“ CATALINA_OPTS”,但是我真的不明白这意味着什么-Windows PC上的任何地方都没有catalina.sh文件,例如。