2015-04-23 34 views
10

我正在尝试使用grails run-app --debug-fork来调试Grails 3.x应用程序。但是当应用程序启动时,它不会等待调试器附加。关于如何调试Grails 3.x应用程序的任何解决方案?调试Grails 3.x应用程序

回答

20

请使用--debug-jvm标志。 例如:grails --debug-jvm run-app

+3

有没有办法在IDE中使用这个选项? – IcedDante

+0

@IcedD​​ante您可以在任何IDE中轻松使用它,只需在命令字段中写入'--debug-jvm',即可配置运行设置。所有标准IDE都支持额外的命令行参数。 –

3

另一种选择是直接运行位于grails-app/initApplication类。它有一个static void main并作为常规应用程序运行。您可以使用调试配置文件直接从IDE运行它。

10

在IntelliJ中,您可以右键单击Gradle任务​​并选择调试。

2

在IntelliJ IDEA 2016.1中,我创建了两个配置。这使我可以充分利用IntelliJ IDEA提供的所有上下文菜单等。方法如下:

  1. 第一种配置是“运行”配置。编辑默认配置 并在“命令行”字段中输入 run-app --debug-jvm
  2. 第二种配置是“远程”配置。在“运行/调试”对话框中,单击+符号并从 列表中选择“远程”。将其命名为“调试”并保存。
  3. 从顶部配置下拉列表中选择您的“运行”配置,然后点击绿色箭头运行应用程序。监视控制台 输出,直到看到消息 Listening for transport dt_socket at address: 5005
  4. 选择您在步骤2中创建的远程调试配置文件,然后单击调试按钮。一会儿,控制台输出将会显示为 Grails application running at http://localhost:8080 in environment: development

成功!

+0

我的项目运行良好,但如果我尝试调试,如上面提供的步骤,我得到了这个错误错误org.apache.tomcat.jdbc.pool.ConnectionPool - 无法创建池的初始连接。 – Ashu

+0

在gradle文件中我加了这个 buildscript-> dependencies-> classpath'mysql:mysql-connector-java:5.1.29'now it works :) – Ashu