Debugging 如何在IntelliJ Idea的playframework中进行调试
这里有一个链接 关于如何配置playframework以使用不同的IDE。在那里,他们说了几句关于调试的话,但不清楚-我如何执行调试?如果我在模型的构造函数类中设置了一个断点,那么应该如何以及启动什么来初始化调试?我使用IntelliJ的想法Debugging 如何在IntelliJ Idea的playframework中进行调试,debugging,playframework,Debugging,Playframework,这里有一个链接 关于如何配置playframework以使用不同的IDE。在那里,他们说了几句关于调试的话,但不清楚-我如何执行调试?如果我在模型的构造函数类中设置了一个断点,那么应该如何以及启动什么来初始化调试?我使用IntelliJ的想法 例如,当我使用Jboss或Tomcat时,在这些服务器的IDE中有一个选项,可以在调试模式或“正常”模式下运行它们。但是在这种情况下如何使用Play框架呢?我是否应该以某种方式配置远程调试?当您启动Play Framework(通过播放运行)时,您将看到
例如,当我使用Jboss或Tomcat时,在这些服务器的IDE中有一个选项,可以在调试模式或“正常”模式下运行它们。但是在这种情况下如何使用Play框架呢?我是否应该以某种方式配置远程调试?当您启动Play Framework(通过播放运行)时,您将看到这表示调试端口正在某个地址运行。这是服务器上的标准Java行为(启用了调试端口)
大多数IDE允许您设置到该远程端口的连接,以便远程调试代码。具体步骤将取决于您正在使用的IDE,但应尽可能简单。在intellij IDEA中运行/调试应用程序最方便的方法如下 菜单命令:运行->编辑配置 添加新配置->应用程序 然后填写以下字段: 主要类别: 播放.server.server 虚拟机参数: -Dapplication.path=。 你应该有类似的东西: 如果操作正确,则可以直接从IDE运行并停止应用程序 编辑以便播放!2 Play 2有很好的调试文档。那就去读吧。但如果您想研究运行/调试按钮方法,请进一步阅读 第二场不同 设置: 主要类别: play.core.server.NettyServer 或 play.core.server.ProdServerStart 虚拟机参数: -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999 -Dapplication.path=。 您仍然可以通过按“调试”按钮调试应用程序,但我还没有解决一些问题:
- 它总是在PROD模式下启动,所以不能进行热代码更改
- 正在运行。重新启动调试会话时出错,表示必须删除此文件
- 在命令行中,使用“play new demoapp”创建新的演示应用程序
- 在命令行中,使用“play idea demoapp”创建Intellij项目/模块文件
- 如果使用最新的JDK(bug!),可以选择编辑.iml文件并将“1.6”更改为“1.7”
- 启动Intellij,然后打开demoapp项目
- 转到运行/编辑配置
- 按“+”按钮,并添加“远程”配置
- 选择传输:套接字,调试器模式:附加,主机:localhost,端口8000
- 设置“名称”和“类路径模块”
- 开演吧!通过选择工具/游戏框架在IDEA中提供框架支持
- 通过在播放中键入“播放运行播放101”启动演示应用程序!控制台
- 在“render()”行的Application.java文件中设置断点
- 启动“远程”调试配置
- 在浏览器中,转到
- 在shell中,运行
playdebug
- 您将被放入调试控制台。键入
并按enter键run
- 然后在IntelliJ IDEA中为“localhost”和9999创建远程配置
- 启动新配置
- 我也有类似的问题
play(2011年8月28日从github克隆)和intellij 10.5
严重:无法读取application.conf
我的修正是:-Dapplication.path=。(不包括“)
要设置-Djavaagent=。。。从IDEA的第11版开始,终极版对Play框架提供了本机支持。 要调试播放应用程序,请执行以下操作:
您现在应该到达断点。在重头戏2中,只需执行以下操作:
打开“运行/调试配置”对话框,然后将“工作目录”更改为项目目录 如果是播放项目,请从命令行:
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时,事情神奇地发生了