问题:

最近访问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。
安装完成后,要配置一下用户环境变量PATH,把C:\Program Files\SlikSvn\bin加到PATH中去。

http://blog.csdn.net/shooray/article/details/17347995?reload

How to debug with IntelliJ IDEA + Grails 2.3.x (转)的更多相关文章

  1. IntelliJ IDEA 2020 的Debug功能也太好用了,真香!

    写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...

  2. IntelliJ IDEA 中文官方文档

    目录 认识IntelliJ IDEA IntelliJ IDEA 安装和设置 IntelliJ IDEA如何使用 IntelliJ IDEA中不容错过的快捷键 IntelliJ IDEA专业的使用技巧 ...

  3. DevCloud for CloudStack Development

    Apache CloudStack development is not an easy task, for the simplest of deployments one requires a se ...

  4. jmeter sampler maven项目排错记

    eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...

  5. IntelliJ debug grails 无效的解决办法

    从Grails 2.2以后默认run-app命令将启动Grails应用程序在一个单独的Java虚拟机. 这就是所谓的分叉的Tomcat Grails中的执行. 这样的类路径Grails构建系统和应用程 ...

  6. HOW TO REMOTELY DEBUG APPLICATION RUNNING ON TOMCAT FROM WITHIN INTELLIJ IDEA

    This post would look into how to tackle and debug issues in scenarios where they only occur in produ ...

  7. IntelliJ IDEA 调试(debug)时非常慢的原因

    IntelliJ  IDEA 开发时,发现有时Debug时tomcat启动的非常慢,需要等待超过20分钟,但有时就很快,经查找发现是断点设置问题, 若断点设置在方法名上,debug时就会非常慢, 如图 ...

  8. 在Intellij IDEA中使用Debug

    Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方 ...

  9. Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录

    项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...

随机推荐

  1. 恭喜我开通了CSDN博客

    准备在这里写点东西,记录我的学习过程....

  2. 浅谈sqlldr

    1.安装oracle  sqlldr 2.配置sqlldr环境 3java代码的实现 在windows下面sqlldr: sqlldr = “cmd /c start  D:/oracle/produ ...

  3. listview——显示窗体

    listview——是用来显示的控件 一,属性 view:(显示的视图)LargeIcon——大图标:SmallIcon——小图标:Details——详细:List——列表:TItle——平铺 Sma ...

  4. ASP.NET - TreeView 增删

    效果: 前端代码: <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Si ...

  5. 一个简单的webdynpro的ALV示例

    开发alv的时候需要1.在web dynpro组件下面 的已使用的组件中添加ALV组件 SALV_WD_TABLE 2.在组件控制器的属性下面创建ALV组件SALV_WD_TABLE 3.在视图界面的 ...

  6. 基于visual Studio2013解决面试题之0309左移递减序列搜索

     题目

  7. HDU1584:蜘蛛牌(DFS)

    Problem Description 蜘蛛牌是windows xp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比她大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那么 ...

  8. MSYS2 环境搭建(在Qt Creator可以设置环境变量来进行引用这些库)

    本机环境:Windows XP 32位MSYS2地址:http://sourceforge.net/projects/msys2/ 下载32位版本,地址:http://sourceforge.net/ ...

  9. 与众不同 windows phone (7) - Local Database(本地数据库)

    原文:与众不同 windows phone (7) - Local Database(本地数据库) [索引页][源码下载] 与众不同 windows phone (7) - Local Databas ...

  10. <摘录>详谈高性能UDP服务器的开发

    上一篇文章我详细介绍了如何开发一款高性能的TCP服务器的网络传输层.本章我将谈谈如何开发一个高性能的UDP服务器的网络层.UDP服务器的网络层开 发相对与TCP服务器来说要容易和简单的多,UDP服务器 ...