Debugging 如何在IntelliJ Idea的playframework中进行调试

Debugging 如何在IntelliJ Idea的playframework中进行调试,debugging,playframework,Debugging,Playframework,这里有一个链接 关于如何配置playframework以使用不同的IDE。在那里,他们说了几句关于调试的话,但不清楚-我如何执行调试?如果我在模型的构造函数类中设置了一个断点,那么应该如何以及启动什么来初始化调试?我使用IntelliJ的想法 例如,当我使用Jboss或Tomcat时,在这些服务器的IDE中有一个选项,可以在调试模式或“正常”模式下运行它们。但是在这种情况下如何使用Play框架呢?我是否应该以某种方式配置远程调试?当您启动Play Framework(通过播放运行)时,您将看到

这里有一个链接

关于如何配置playframework以使用不同的IDE。在那里,他们说了几句关于调试的话,但不清楚-我如何执行调试?如果我在模型的构造函数类中设置了一个断点,那么应该如何以及启动什么来初始化调试?我使用IntelliJ的想法


例如,当我使用Jboss或Tomcat时,在这些服务器的IDE中有一个选项,可以在调试模式或“正常”模式下运行它们。但是在这种情况下如何使用Play框架呢?我是否应该以某种方式配置远程调试?

当您启动Play Framework(通过播放运行)时,您将看到这表示调试端口正在某个地址运行。这是服务器上的标准Java行为(启用了调试端口)


大多数IDE允许您设置到该远程端口的连接,以便远程调试代码。具体步骤将取决于您正在使用的IDE,但应尽可能简单。

在intellij IDEA中运行/调试应用程序最方便的方法如下

菜单命令:运行->编辑配置

添加新配置->应用程序

然后填写以下字段:

主要类别:

播放.server.server

虚拟机参数:

-Dapplication.path=。

你应该有类似的东西:

如果操作正确,则可以直接从IDE运行并停止应用程序

编辑以便播放!2

Play 2有很好的调试文档。那就去读吧。但如果您想研究运行/调试按钮方法,请进一步阅读

第二场不同

设置:

主要类别:

play.core.server.NettyServerplay.core.server.ProdServerStart

虚拟机参数:

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999 -Dapplication.path=。

您仍然可以通过按“调试”按钮调试应用程序,但我还没有解决一些问题:

  • 它总是在PROD模式下启动,所以不能进行热代码更改

  • 正在运行。重新启动调试会话时出错,表示必须删除此文件


    • 我也有类似的问题

      play(2011年8月28日从github克隆)和intellij 10.5

      严重:无法读取application.conf

      我的修正是:-Dapplication.path=。(不包括“)


      要设置-Djavaagent=。。。从IDEA的第11版开始,终极版对Play框架提供了本机支持。 要调试播放应用程序,请执行以下操作:

      • 在命令行中,使用“play new demoapp”创建新的演示应用程序
      • 在命令行中,使用“play idea demoapp”创建Intellij项目/模块文件
      • 如果使用最新的JDK(bug!),可以选择编辑.iml文件并将“1.6”更改为“1.7”
      • 启动Intellij,然后打开demoapp项目
      • 转到运行/编辑配置
      • 按“+”按钮,并添加“远程”配置
      • 选择传输:套接字,调试器模式:附加,主机:localhost,端口8000
      • 设置“名称”和“类路径模块”
      • 开演吧!通过选择工具/游戏框架在IDEA中提供框架支持
      • 通过在播放中键入“播放运行播放101”启动演示应用程序!控制台
      • 在“render()”行的Application.java文件中设置断点
      • 启动“远程”调试配置
      • 在浏览器中,转到

      您现在应该到达断点。

      在重头戏2中,只需执行以下操作:

      • 在shell中,运行
        playdebug
      • 您将被放入调试控制台。键入
        run
        并按enter键
      • 然后在IntelliJ IDEA中为“localhost”和9999创建远程配置
      • 启动新配置
      我的解决方案是:
      打开“运行/调试配置”对话框,然后将“工作目录”更改为项目目录

      如果是播放项目,请从命令行:

      play debug
      
       sbt -jvm-debug 9999 run
      
      如果是命令行中的SBT播放项目:

      play debug
      
       sbt -jvm-debug 9999 run
      
      默认情况下,调试端口为9999

      现在创建一个远程配置

      在IntelliJ中:

      转到“编辑运行配置”

      创建新的远程配置(端口9999,所有其他详细信息保留默认值)


      运行新的调试配置(别忘了设置断点)

      我不得不将build.sbt中的这一行更改为:

      运行中的fork:=true

      运行中的fork:=false


      要使断点在IntelliJ IDEA 15.0中使用Play 2应用程序运行配置工作。

      对于SBT项目,您可以使用SBT任务配置(运行->编辑配置->添加新配置->SBT任务)从IDE调试器进行调试,任务设置设置为:

      “运行9000”“-jvm调试9999”

      9000是站点端口,9999是默认调试端口。报价是必需的

      然后选择配置和调试


      使用community edition(2016.2)

      我刚刚在端口8080上以开发模式执行了应用程序。Play自动为JVM调试打开端口8000


      然后使用模板“Remote JVM Debug”创建一个新的运行/调试配置,并将端口设置为8080。

      但这只是为了运行和停止,而不是为了调试,对吗?让我们添加一个非常重要的东西,
      -Dplay.id=yop
      来指定VM参数的播放框架id.append-Dplay.id=test,在dependencies add Single Entry module Library中,选择$PLAY_HOME/modules/testrunner/lib/PLAY-testrunner.jar此方法不适用于Open JDK。您必须使用Sun JDK。我不知道为什么。但当我从开放JDK 6切换到Sun JDK 6.F时,事情神奇地发生了