用IDEA调试Play工程

用IDEA调试Play工程,第1张

用IDEA调试Play工程

IDEA的版本是14.0.1,运行在MAC OS X Yosemite上。


IDEA已经装了Scala插件,但是在新建工程中,Scala的选项中并没有Play框架,不知道什么原因。


导入Play工程

我想导入从Github上下载的一个play工程。


当直接用IDEA的import project导入build.sbt时,虽然可以正常导入,但是IDEA并不能识别play的目录结构。


所以,首先安装activator, 然后在当前工程目录下运行activator,  进入activator的shell之后,输入idea,执行。


这时候Activator会生成一个IDEA工程,导入就可以了。


设置调试环境

首先需要让activator在run 这个play工程时,可以接受远程调试。


set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<port>"

在Linux和mac下,export "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<port>"

这里把port设成想要的端口。


这次设成9999

然后在IDEA最上边的run目录下选择 edit configuration。


进行以下设置

Transport : Socket

Debugger mode: Attach

Host: localhost

Port:9999

name:自己起一个。


进行调试

首先在项目里设置断点


在terminal里执行前边提到的export "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<port>"

接着执行activator ~run。


会显示

Listening for transport dt_socket at address: 9999

...........

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0%0:9000

然后在IDEA里启动调试,选择刚才建立的那个调试选项,开始调试

在IDEA的Console中会显示

Connected to the target VM, address: 'localhost:9999', transport: 'socket'

打开浏览器,访问localhost:9000, 就会在IDEA中看到程序在断点处停了下来。


下面就可以调试了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/589263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存