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 ...
随机推荐
- deflate——过时的网页压缩格式,最好禁用[转]
在设置GZip时,发现同时有个Deflate压缩设置,一开始并不了解Deflate压缩,于是便在启用GZip的同时,也启用了Deflate压缩.虽然同时设置GZip和Deflate压缩,并不影响网站的 ...
- 自定义NavgationBa返回按钮
iOS 上UINavigationController视图压栈形式,可以在当前视图无限制push许多视图,然而一些会觉得自带的push按钮不够美观,而且当上的上一个页面title很长的时候,那个返回 ...
- Swift - 浮点数转换成整数(四舍五入与直接截断)
1,直接截去小数部分转换成整数 使用强制转换会将浮点部分去除,把整数部分转换为整数. 1 var i = Int(23.50) //23 2,四舍五入转换成整数 lroundf是一个全局函数,作用是将 ...
- Linux 高性能server编程——高级I/O函数
重定向dup和dup2函数 #include <unistd.h> int dup(int file_descriptor); int dup2(int file_descriptor_o ...
- D7升级时候发现许多System函数和网络函数只有Byte版本的,需要注意
SetLength 对于字符串,是WideChar的长度GetMem 只针对ByteMove 只针对ByteFillChar 只针对ByteWriteFile(API) 只针对Byte SetSock ...
- WebBrowser脚本错误的完美解决方案
原文:WebBrowser脚本错误的完美解决方案 当IE浏览器遇到脚本错误时浏览器,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框.当我们使用WebBrowse ...
- android onKeydown
package wyf.ytl; import android.app.Activity; import android.content.Context; import android.os.Bund ...
- OpenRisc-30-SD card controller模块分析与验证
引言 ORPSoC的硬件平台是包含SD card controller控制器的,但是对应的linux里面却没有对应的linux的驱动程序,这使ORPSoC的SD card的使用收到了很大的限制.没有驱 ...
- JSTL分割字符 fn:split()
<%@ page language="java" contentType="text/html; charset=UTF-8"%><%@ ta ...
- c# listview导出excel文件
首先在工程中需要添加对Microsoft Excel office 11.0 object的引用 生成excel的类代码如下 using System; using System.Collection ...