Go + Revel + Intellijでのデバック方法
設定がややこしくて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設定
ここの設定が中々うまいこといかず最終的には下記となります
- Run->Edit configuration選択。Go Buildを選択
- 【Run kind】Fileを選択
- 【Files:】先程の
$GOPATH$/src/myapp/app/tmp/main.go
を指定 - 【Program arguments:】
-importPath myapp
を指定 - 【Before launch: ...】 新規で
Run external tool
を作成 - 【Program:】
$GOPATH$/bin/revel
を指定 - 【Arguments:】
build myapp myapp/app/tmp
を指定 - 【Working directory:】
$GOPATH$/bin
を指定
デバック実行
これでソース中の任意の場所にブレークポイントを設定するとデバックすることが出来ます。
実際に何のコマンドが発行されているのか
$ 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 を毎回手動で行う必要は無さそうです。
多分他のフレームワークでも同じ手順でいけそうな感じがします
Author And Source
この問題について(Go + Revel + Intellijでのデバック方法), 我々は、より多くの情報をここで見つけました https://qiita.com/iwamoto_takuya/items/5d2c1057e8d44bf01fc7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .