在 Eclipse 中调试简单的 Dropwizard 应用程序
Debugging simple Dropwizard application in Eclipse
我正在尝试在 Eclipse 中调试一个简单的 DropWizard 应用程序,以尝试熟悉它。我可以像这样从命令行启动 jvm:
java -Xdebug -agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n -jar dropwizard-0.0.1-SNAPSHOT.jar server config.yaml
然后作为远程 java 应用连接到它。
或者我可以在 Eclipse 中找到应用程序 class(包含主要方法)并以这种方式在调试中启动应用程序。
这两种方法似乎都能在调试中成功启动应用程序,果然,如果我在某处设置断点,它就会被击中。
但是,我的问题是,此时 Eclipse 通常会给我一些对应用程序的控制权,但在这种情况下却很奇怪地不允许我恢复或使用任何步骤命令。我只能终止应用程序。
也许我今天早上过得很愚蠢,但我不明白为什么会这样。
谁能阐明这一点以及我如何获得调试所需的控制权?
我不能确定,但我相信这可能是由于 32 位和 64 位组件的意外混合造成的。
几天后,我在一个我更熟悉的项目中遇到了同样的问题,在那种情况下,通过更改构建路径以使用 64 位 JDK 解决了这个问题。发生这种情况时,我之前将它部署到 64 位 tomcat 和构建路径上的 32 位 jdk。
显然 dropwizard 的情况有点不同,因为它的部署是独立的,但类似地改变构建路径似乎为我解决了这个问题。
我正在尝试在 Eclipse 中调试一个简单的 DropWizard 应用程序,以尝试熟悉它。我可以像这样从命令行启动 jvm:
java -Xdebug -agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=n -jar dropwizard-0.0.1-SNAPSHOT.jar server config.yaml
然后作为远程 java 应用连接到它。
或者我可以在 Eclipse 中找到应用程序 class(包含主要方法)并以这种方式在调试中启动应用程序。 这两种方法似乎都能在调试中成功启动应用程序,果然,如果我在某处设置断点,它就会被击中。
但是,我的问题是,此时 Eclipse 通常会给我一些对应用程序的控制权,但在这种情况下却很奇怪地不允许我恢复或使用任何步骤命令。我只能终止应用程序。
也许我今天早上过得很愚蠢,但我不明白为什么会这样。 谁能阐明这一点以及我如何获得调试所需的控制权?
我不能确定,但我相信这可能是由于 32 位和 64 位组件的意外混合造成的。
几天后,我在一个我更熟悉的项目中遇到了同样的问题,在那种情况下,通过更改构建路径以使用 64 位 JDK 解决了这个问题。发生这种情况时,我之前将它部署到 64 位 tomcat 和构建路径上的 32 位 jdk。
显然 dropwizard 的情况有点不同,因为它的部署是独立的,但类似地改变构建路径似乎为我解决了这个问题。