2013-06-18 164 views
6

現在IntelliJ 12.1出來了,我希望能夠將調試器附加到「gradle run」應用程序並讓它停在斷點處。我都試過右鍵單擊運行並選擇調試它,並且建議在這個答案設置GRADLE_OPTS環境變量:使用Intellij在gradle項目中設置斷點

Debug Gradle plugins with IntelliJ

和安裝遠程調試器,它工作得很好,但是沒有一個人違反有關斷點。我肯定錯過了什麼。

回答

11

我可以通過配置run任務遠程調試。既然是JavaExec任務,它支持jvmArgs屬性:

run { 
    jvmArgs "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" 
} 

和調試特性:

run { 
    debug true 
} 

點擊鼠標右鍵調試似乎並沒有工作,因爲是的IntelliJ調試器連接到JVM錯誤即gradle。

+0

太棒了!這樣可行。對於獎勵積分和永恆的感激之情,有沒有辦法鏈接啓動運行任務和附加遠程調試器,任何想法? – pschuegr

+0

我[怕](http://stackoverflow.com/a/12454891/2464295)[no](http://stackoverflow.com/q/3823346/2464295),[因爲](http:// stackoverflow .com/a/4558818/2464295)這是一個孩子的過程。 – ceilfors

+0

好的,值得一試:) – pschuegr

1

我可以正常調試。如果我使用gradle守護進程(「--daemon」選項),我只能調試。

+0

我發現Intellij會自動傳遞所需的jvmArgs,所以禁用守護進程(所以過程開始於這些jvmArgs實際執行代碼)爲我做了訣竅。 – mabi

+0

使用--no-daemon一次性禁用守護進程順便說一句。 –

+0

因爲它使用Gradle Tooling API,所以此參數不適用於最新版本的IntelliJ。沒有辦法關閉守護進程。 –

相關問題