How to debug with IntelliJ IDEA + Grails 2.3.x (转)
问题:
最近访问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就自动进入调试模式的功能没有了。但这需要开发者做若干设置才能调试。过程如下:
- 在IDEA的toolbar的debug区域,选择您的当前的Grails App,然后再点击Edit Configurations打开运行配置。
- 在Command Line栏修改run-app为run-app --debug-fork,点击OK按钮保存。
- 到这一步,大家都会遇到点击debug按钮后,grails app停到一行信息Listening for transport dt_socket at address: 5005之后,就没有了。连8080端口都访问不了,更不要提调试了。
- 实际情况是,你还要再做一步。回到Edit Configurations,点击左上角的+按钮,选择Remote,修改一下Unnamed名称,比如localdebug,保存即可(此界面上Host=localhost和Port=5005是可以修改的,这在非本机远程调试时就很有用了)。
- 回到IDEA主窗口,点击debug,开启调试localdebug,在Console上显示Connected to the target VM, address: 'localhost:5005', transport: 'socket',就表示成功了。打开浏览器访问http://localhost:8080/yourapp,即可进入断点调试功能。
- 补充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] - 补充2:如果是运行于其他webserver,在JVM加上以下参数,也可以完成5005端口的监听,可用于远程调试。
-Xdebug -Xrunjdwp:server=y, transport=dt_socket,address=5005, suspend=n
http://blog.csdn.net/shooray/article/details/17347995?reload
How to debug with IntelliJ IDEA + Grails 2.3.x (转)的更多相关文章
- IntelliJ IDEA 2020 的Debug功能也太好用了,真香!
写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...
- IntelliJ IDEA 中文官方文档
目录 认识IntelliJ IDEA IntelliJ IDEA 安装和设置 IntelliJ IDEA如何使用 IntelliJ IDEA中不容错过的快捷键 IntelliJ IDEA专业的使用技巧 ...
- DevCloud for CloudStack Development
Apache CloudStack development is not an easy task, for the simplest of deployments one requires a se ...
- jmeter sampler maven项目排错记
eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...
- IntelliJ debug grails 无效的解决办法
从Grails 2.2以后默认run-app命令将启动Grails应用程序在一个单独的Java虚拟机. 这就是所谓的分叉的Tomcat Grails中的执行. 这样的类路径Grails构建系统和应用程 ...
- 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 ...
- IntelliJ IDEA 调试(debug)时非常慢的原因
IntelliJ IDEA 开发时,发现有时Debug时tomcat启动的非常慢,需要等待超过20分钟,但有时就很快,经查找发现是断点设置问题, 若断点设置在方法名上,debug时就会非常慢, 如图 ...
- 在Intellij IDEA中使用Debug
Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方 ...
- Intellij IDEA debug模式下项目启动慢/无法启动的事件解决过程记录
项目无法启动了 简单的介绍一下事件过程:周一的早上,收到前端同事抛过来的一个任务,说是一个接口无法正常返回数据,于是就让他把参数发过来,我想试着在本地重现一下并且将问题修复掉,这种情况肯定是要通过de ...
随机推荐
- BZOJ 3110([Zjoi2013]K大数查询-区间第k大[段修改,在线]-树状数组套函数式线段树)
3110: [Zjoi2013]K大数查询 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 418 Solved: 235 [ Submit][ ...
- linux 解压操作命令
http://apps.hi.baidu.com/share/detail/37384818 download ADT link http://dl.google.com/android/ADT-0. ...
- hadoop学习之ZooKeeper
1. 什么是ZooKeeper? ZooKeeper是一组工具,用来配置和支持分布式调度. 它能处理分布式应用的“部分失败”问题. 什么是部分失败? 部分失败是分布式处理系统的固有特征,即发送者无法知 ...
- Linux开发环境的搭建和使用——Linux 常用的命令使用
概要 视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完毕了窃取资料的任务. Linux 刚出世时没有什么图形界面.全部的操作全靠命令完毕.就如同电视里的黑客 ...
- 转载【浅谈ThreadPool 线程池】
浅谈ThreadPool 线程池 http://www.cnblogs.com/xugang/archive/2010/04/20/1716042.html
- VC中添加web控件的方法
在VC中使用WebBrowser控件的两方法 黄森堂(vcmfc)著 ClassWizard方式: 1.创建包装类:View->ClassWizard->Add Class->For ...
- windows下RabbitMQ 监控
RabbitMQ的监控很简单,网上也有很多资料,但是大都不详细,让人云里雾里,我这里详细总结下. RabbitMQ本身提供了一个web的监控页面,只需要简单的几部命令行就可以访问这个页面了. 1.打开 ...
- vs2008编译QT开源项目三国杀(五篇文章)
请参看 http://tieba.baidu.com/f?kz=1508964881 按照上面的网址教程,下载三国杀源码,swig工具,并下载最新的QT4.8.2 for vs2008.我本机已经安装 ...
- 14.5.4 InnoDB File-Per-Table Tablespaces 每个表一个文件
14.5.4 InnoDB File-Per-Table Tablespaces 每个表一个文件 从历史上看, 所有的InnoDB 表和索引是存储在system 表空间, 这个整体的方法是针对机器专注 ...
- linux文件夹介绍
(1)documentation 这个文件夹下没有内核代码,仅仅有一套实用的文档,但这些文档的质量不一.比如内核文档的文件系统,在该文件夹下有相当优秀并且相当完整的文档:而另外一部分内核,比如进程调度 ...