2016-09-26 143 views
1

我目前正在參與基於grails的應用程序的開發(版本3.12)。不幸的是,我不熟悉圍繞框架的生態系統。我想修復代碼中存在的一些錯誤,但我不清楚如何調試應用程序。如何調試grails應用程序

我讀過遠程調試是Grails應用程序的最佳選擇。這實際上這類作品:我添加了一個「遠程」執行中的IntelliJ和配置文件啓動Grails的是這樣的:

export GRAILS_OPTS="agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" 
grails run-app 

但這不過有我在的IntelliJ啓動遠程兩倍的效果。我認爲這是由於grails有兩個JVM運行的分支(一個用於編譯/ etc,另一個用於執行)。另外,當源代碼發生變化時,顯然一個新的JVM是分叉的。

我的問題是:如何通過配置將grails選項傳遞給正確的JVM進程?

我發現了一個較老的類似線程here。但這不過適用於Grails的2個,而不是Grails的3尤其是buildConfig.groovy不見了,添加的東西像

grails.project.fork = [ 
    // ... 
    run: [maxMemory:1024, minMemory:64, debug:false, maxPerm:256, jvmArgs: '..arbitrary JVM arguments..'] 
    // ... 
] 

build.gradle導致拋出異常。

回答

1

有幾種方法可以做你所問的。不涉及需要改變默認的一種方法生成的生成文件或設置任何環境變量,運行這樣的應用程序:

./gradlew bootRun --debug-jvm 

這將導致啓動時暫停,直到您連接到遠程調試。我做了很多。

另一種選擇是打開Application.groovy,右鍵單擊並選擇「調試...」。

+0

這兩種方法都不需要設置任何特殊的環境變量。 –