我一直试图通过定义setenv.sh来调试Apache。这些是文件的内容。
export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y"我正在使用IntelliJ的想法作为开发环境。
当我将setenv.sh文件放置在bin文件夹中时,每次连接成功地连接到端口8000时,我发现在一些尝试中,调试点会被满足,但有时它们不会。当我停止调试器时,服务器永远不会启动。我使用的是sh bin/catalina.sh jpda start命令。在这种尝试中,日志也不起作用。
但是sh bin/catalina.sh每次尝试都能很好地工作。
这种奇怪行为的原因是什么?
发布于 2016-02-25 10:17:13
在一些尝试中,调试点被满足,但有时它们不满足
我相信你是说break points。检查是否使用与编译的tomcat相同版本的源。版本之间的不匹配是正常的(也是预期的)。还请确保您不会意外地重新格式化源。
当我停止调试器时,服务器永远不会启动。
应用程序没有启动,因为您有suspend=y标志,意思是“等待调试器附加”。将其更改为suspend=n,应用程序将在没有调试器的情况下启动。
PS:当您想调试时-使用catalina.sh jpda start启动服务器。如果没有jpda参数,JVM将不会在调试模式下启动。
https://stackoverflow.com/questions/35620472
复制相似问题