LoginSignup
2
1

More than 5 years have passed since last update.

Go + Revel + Intellijでのデバック方法

Posted at

設定がややこしくてTry and errorでようやくできたのでメモ

環境

macOS High Sierra バージョン10.13.6
GO 1.12
revel 0.21.1
Intellij

参考URL

公式のデバック方法:https://revel.github.io/manual/debug.html
stackoverflow:https://stackoverflow.com/questions/37944552/debugging-revel-with-intellij

手順

公式にも書いてありますが不明点があり、最終的にstackoverflowの回答がわかりやすかったです。
revelチュートリアルにあるmyappをデバックしてみます。

revel runコマンドを実行。

$ revel run myapp

$GOPATH/src/myapp/app/tmp/main.go が出来ているのを確認。これがIntellij上で動かすmainになります。

Intellij設定

ここの設定が中々うまいこといかず最終的には下記となります

  1. Run->Edit configuration選択。Go Buildを選択
  2. 【Run kind】Fileを選択
  3. 【Files:】先程の $GOPATH$/src/myapp/app/tmp/main.go を指定
  4. 【Program arguments:】-importPath myapp を指定
  5. 【Before launch: ...】 新規でRun external toolを作成
  6. 【Program:】$GOPATH$/bin/revel を指定
  7. 【Arguments:】 build myapp myapp/app/tmp を指定
  8. 【Working directory:】$GOPATH$/bin を指定 スクリーンショット 2019-03-08 12.02.54.png

デバック実行

これでソース中の任意の場所にブレークポイントを設定するとデバックすることが出来ます。

実際に何のコマンドが発行されているのか

$ revel build myapp myapp/app/tmp
$ /usr/local/Cellar/go/1.12/libexec/bin/go build -i -o /private/var/folders/ny/_vrlbwh57vb8m04kg0b384m8qsbg2d/T/___go_build_main_go /Users/XXXXX/go/src/myapp/app/tmp/main.go /private/var/folders/ny/_vrlbwh57vb8m04kg0b384m8qsbg2d/T/___go_build_main_go -importPath myapp

revevでビルド後にgoでビルドをしているので、手順1のソースコードを変更した後でrevel run を毎回手動で行う必要は無さそうです。
多分他のフレームワークでも同じ手順でいけそうな感じがします

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1