文档章节

How to debug with IntelliJ IDEA + Grails 2.3.x

 紫禁校尉
发布于 2014/03/31 10:31
字数 601
阅读 1357
收藏 1

问题:

最近访问grails.org,看到grails framework已经发展到2.3.x了,不免想尝尝鲜。下载了最新的grails-2.3.x之后,创建了一个新的grails app。

添加Book domain对象后有自动生成了BookController和相关gsp views。在对BookController进行调试的时候,发现无法进入设定的断点。起先以为是IDE版本(IntelliJ  IDEA12.x.x ultimate)和Grails 2.3.x不兼容,但全部换上最新的IntelliJ IDEA 13和Grails 2.3.4之后,问题依然存在。


答案:

经过一番探索,终于找到答案,原来是grails 2.3.x之后,内嵌webserver换上了tomcat7,并且使用remote debug,IDEA点击debug就自动进入调试模式的功能没有了。但这需要开发者做若干设置才能调试。过程如下:

  1. 在IDEA的toolbar的debug区域,选择您的当前的Grails App,然后再点击Edit Configurations打开运行配置。

  2. 在Command Line栏修改run-app为run-app --debug-fork,点击OK按钮保存。

  3. 到这一步,大家都会遇到点击debug按钮后,grails app停到一行信息Listening for transport dt_socket at address: 5005之后,就没有了。连8080端口都访问不了,更不要提调试了。

  4. 实际情况是,你还要再做一步。回到Edit Configurations,点击左上角的+按钮,选择Remote,修改一下Unnamed名称,比如localdebug,保存即可(此界面上Host=localhost和Port=5005是可以修改的,这在非本机远程调试时就很有用了)。

  5. 回到IDEA主窗口,点击debug,开启调试localdebug,在Console上显示Connected to the target VM, address: 'localhost:5005', transport: 'socket',就表示成功了。打开浏览器访问http://localhost:8080/yourapp,即可进入断点调试功能。

  6. 补充1:run-app --debug-fork的替代方案是修改grails-app/conf/BuidConfig.groovy中的grails.project.fork,debug从false改为true
    run: [maxMemory: 768, minMemory: 64, debug: true, maxPerm: 256, forkReserve:false]

  7. 补充2:如果是运行于其他webserver,在JVM加上以下参数,也可以完成5005端口的监听,可用于远程调试。

  8. -Xdebug -Xrunjdwp:server=y, transport=dt_socket,address=5005, suspend=n

希望对大家有所帮助!

PS:IntelliJ IDEA 13 windows版本缺少内置svn的支持,要么等13.0.1,要么自己安装一个svn client。

等13.0.1:http://youtrack.jetbrains.com/issue/IDEA-117518

安装svn client:http://www.sliksvn.com/en/download

安装完成后,要配置一下用户环境变量PATH,把C:\Program Files\SlikSvn\bin加到PATH中去


本文转载自:http://blog.csdn.net/shooray/article/details/17347995

粉丝 1
博文 1
码字总数 0
作品 0
私信 提问
IntelliJ IDEA 11.0.1发布

对IntelliJ IDEA团队来说,没有什么比发布一个更新的版本来结束2011年更完美的了。 此次发布主要为Bug修复,另外也带来了性能及可用性方面的一些改进。IntelliJ IDEA 11.0.1中的特性改进: ...

红薯
2011/12/31
1K
4
IntelliJ IDEA 2016.2.4 发布,深受欢迎的 Java IDE

IntelliJ IDEA 2016.2.4 发布了,IntelliJ IDEA被认为是当前Java开发效率最快的IDE工具。它整合了开发过程中实用的众多功能,几乎可以不用鼠标可以方便的完成你要做的任何事情,最大程度的加...

Google
2016/09/10
9.4K
70
IntelliJ IDEA 2018.2.2 发布,支持 ClickHouse

IntelliJ IDEA 2018.2.2 已发布,可通过 https://www.jetbrains.com/idea/download/ 下载安装,或通过 Toolbox App 更新。 主要更新包括: fixed the regression, and now the IDE recogniz......

淡漠悠然
2018/08/22
2.3K
12
安装IntelliJ IDEA JetGroovy

JetGroovy是一个免费而且开源的专用于支持Groovy和Grails的IntelliJ IDEA插件。这个插件是由JetBrains公司自己开发的,对于Groovy语言和Web框架都提供了无以伦比的支持。 1.下载IntelliJ ID...

小编辑
2010/11/16
3.2K
0
IntelliJ IDEA 11.1.3发布,支持Android 4.1 SDK

IntelliJ IDEA开发团队今天发布了IntelliJ IDEA 11.1分支的第3个维护版本。 该版本的主要改进包括: 支持最新的Android 4.1 SDK,并修复了一些bug 确保对Mac OS X 10.8的兼容性,支持视网膜屏...

oschina
2012/07/27
2.8K
13

没有更多内容

加载失败,请刷新页面

加载更多

在Linux下使用linuxdeployqt发布Qt程序

目录 一、简介 二、安装linuxdeployqt 三、配置 qt 的环境变量 四、打包应用程序 五、编写linux桌面图标启动(可选步骤) 六、编写开机脚本 runApp.sh 七、打包成deb包 八、扩展 回到顶部 一...

shzwork
7分钟前
1
0
Linux进程管理

计算机硬件层面之上是操作系统,狭义的操作系统主要指系统内核,内核有以下作用:进程管理、文件系统、网络管理、内存管理、驱动程序、安全功能。内核可以将用户无法操作的底层硬件接口进行抽...

lhdzw
昨天
1
0
Java13的新特性

Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 Java13的新特性 Java14的新特性 序 本文主要讲述...

go4it
昨天
5
0
IDEA 配置Springboot项目热部署

实现的方式概述 注意以下的热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:(注意刷新不要太快,会有1-2秒延迟) File-Settings-C...

小强的进阶之路
昨天
9
0
免费数据分析工具:secsoso

前段时间思考了理想数据分析平台,之后我们根据这个思路开发了spl语言并提供了一个数据分析平台,这个平台主要用在搜索ES,数据库索引中的数据。但后来发现对文件的事后处理也是个非常重要的...

赛克蓝德
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部