当前位置: 首页 > 知识库问答 >
问题:

IntelliJ调试器在Maven Java Google App Engine项目中未命中断点(Eclipse works)

闾丘德宇
2023-03-14

所以我开始把头发拔出来。IntelliJ只是不想触发断点,而Eclipse工作得很好。我从没想过我会说那句话:|

以下是我的例子:

  • 从经典的谷歌留言簿原型创建一个全新的GAE项目

mvn原型:generate-Dappengine version=1.9.15-Dapplication id=your app id-Dfilter=com.google.阿彭金。原型:留言簿原型

>

  • 取消注释pom.xml中建议的行以允许远程调试

        <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>1.9.15</version>
            <configuration>
                <enableJarClasses>false</enableJarClasses>
                <!-- Comment in the below snippet to bind to all IPs instead of just localhost -->
                <!-- address>0.0.0.0</address>
                <port>8080</port -->
                <!-- Comment in the below snippet to enable local debugging with a remove debugger
                like those included with Eclipse or IntelliJ -->
                <jvmFlags>
                    <jvmFlag>-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n</jvmFlag>
                </jvmFlags>
            </configuration>
        </plugin>
    

    运行devserver目标(编译、测试和运行GAE环境)

    mvn appengine:devserver

    (ECLIPSE:工作案例)

    • 启动EclipseJuno并将该项目作为Maven项目导入

    (INTELLIJ 14:失败案例)

    • 启动INTELLIJ并将项目导入为Maven项目
    • 创建远程Java应用程序调试配置文件
    • 设置断点,使用远程配置和BAM调试应用程序,断点失败触发。

    除了不同的IDE,项目设置没有区别。这告诉我我在IntelliJ中肯定做错了什么,但我真的不知道是什么。

    它只在Eclipse中工作,在IntelliJ中不工作|

    有什么想法吗?

    肖恩

  • 共有2个答案

    罗安和
    2023-03-14

    我已经设法让它工作如下:

    • 按照IntelliJ的建议,向Maven/Gradle添加JVM标志
    • 不要使用remote(按照GAE文档的建议)。相反,调试appengineRunGradle任务(与Maven类似)
    • 启动并运行后,点击运行/连接到本地进程

    砰!调试器已连接,断点命中,应用程序挂起

    吉凯捷
    2023-03-14

    我不确定这个问题是否仍然有效。

    我想你可能和我有同样的问题。Intellij调试器不会在断点处停止

    您确定服务器正在公开8000端口,以便调试器在启动时侦听吗。如果不是,那么应该提供这些JVM参数。

     类似资料:
    • 我已经按照Hannes Dorfmann的教程编写了一个Java注释处理器。我的项目使用Maven。当我尝试按照本文的建议使用调试它时,除了在Intellij中没有命中断点之外,一切都正常。 我可以从命令行运行。 我可以使用远程调试目标附加IntelliJ的调试器。 我的注释处理器运行正常。我已经将语句添加到方法中,并正确地记录了它们。 唯一不起作用的是断点。我设置的断点都没有命中。

    • 我有一个(基于Maven的)项目a加载在Intellij中,它有许多依赖项。 我想在B中放置断点并调试项目A,以便在项目B中达到断点时A停止。 在Eclipse中,我只需要将两个项目放在同一个工作区中,它就可以工作了。由于Intellij中没有工作区,我想知道该如何做,以及是否可能。

    • 问题内容: 现在IntelliJ 12.1已经发布,我希望能够将调试器附加到“渐变运行”应用程序,并使它在断点处停止。 并远程连接调试器,效果很好,但是在断点上都没有中断。我肯定错过了什么。 问题答案: 我可以通过配置任务进行远程调试。由于这是一个JavaExec任务,因此它支持jvmArgs属性: 和调试属性: 右键单击调试似乎无效,因为IntelliJ将调试器附加到错误的JVM(即gradle

    • 问题内容: 有时,当我检查我未编写的代码时,会以调试模式启动eclipse并使用数字来理解程序。例如,如果它们是从数据库中检索到的n个项目,那么知道服务中有n个已处理的项目等会很有趣。 当使用循环时,事情会变得更加复杂:如果我们处于“ while”循环中,则执行次数未定义,并且如果有替代方法,则执行流程可能会发生很大变化。 为此,我有时会在一部分代码中设置一个断点,并计算我们到达断点的次数。 当然

    • 我正在使用Windows7,最近从Eclipse切换到了Android Studio。我现在无法调试。 运行Android Studio 0.8.6,我设置了一个完全默认的安装,我创建了一个默认的空项目,目标是ICS SDK,使用新的项目向导。然后,我将一个断点放在创建中,单击调试按钮并运行。 我可以在调试器窗口中看到“已连接到目标VM”消息,因此附加了调试器。 我知道代码正在执行,因为我正在更新

    • 我有一个 SBT 项目 在这个项目中,我有一个子播放项目和其他项目 我的构建文件中的示例: 需要从IntelliJ IDEA调试播放服务器。 为了运行该项目,我在命令行上使用。 如何在 IDEA 中调试项目?