[Grails (グレイルズ)] 2.3 系でデバッグ出来るようにする

以前に、ここで2.2 系のデバッグ方法を紹介したが、
同じ方法で 2.3 だと上手くいかない。

(後日追記)
intellij からのデバッグが結構早くなっていたので、この方法を使う必要はないような気がしてきた。

2.3 系では以下のようにする。

コマンドラインで制御

この後、Remote で接続してデバッグ。Remote については、ここを参照

interactive mode で行う

interactive mode になったら、

この後、Remote で接続してデバッグ。Remote については、ここを参照

常にデバッグモードで接続する場合

BuildConfig.groovy にある、grails.project.forkrun の所を

にする。

以下のように修正する

  • 修正前
  • 修正後

あとは

となるので、Remote 接続。Remote については、ここを参照

stop-app について

Grails2.3.4 を使っているが、stop-app が効かない。
stop-app を使いたい場合は、fork の機能を使わなくする方法で回避できる。
fork の機能を止めて、ここにあるやり方でデバッグする

forkは、BuildConfig.groovy にある、grails.project.fork を全てコメントすると、fork は使われなくなる

開発で起動時だけを制御したいなら、

にしておくとよい。




[Grails (グレイルズ)] Integration test の起動を早くする (デバッグも可能)

  1. デバッグで、インタラクティブモードを起動する
  2. IDE上からリモートで接続
  3. InteliJでのリモート接続の作り方
    InteliJ では、 Run -> Edit Configuration ->
    で、 + マークを押して Remote を選択すれば出来る。

  4. テストを起動

テストじゃなくて、リモートでアプリを起動

とすれば、リモートでデバッグ起動する。体感的に普通に起動してるより早いしこっちのほうが安定する。

デバッグが必要なければ

普通のインタラクティブモードで

で起動

とやっても、IDE上から実行するに比べて早い(体感的にだけど)