2013-06-18 16 views
6

Ora che IntelliJ 12.1 è fuori, speravo di poter collegare il debugger a un'app "gradle run" e farlo fermare ai breakpoint. Ho provato sia a destra-clic su Esegui e scegliendo di eseguire il debug di esso, e l'impostazione GRADLE_OPTS variabili d'ambiente come suggerito in questa risposta:Utilizzo di Intellij per impostare i punti di interruzione nel progetto gradle

Debug Gradle plugins with IntelliJ

e allegando il debugger remoto, che funziona bene, ma nessuno dei due si rompe su i punti di interruzione. Devo mancare qualcosa.

risposta

11

È possibile eseguire il debug in remoto configurando l'attività run. Poiché si tratta di un compito JavaExec, supporta jvmArgs proprietà:

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

ed eseguire il debug proprietà:

run { 
    debug true 
} 

clic destro per eseguire il debug non sembra funzionare perché IntelliJ annette il debugger per la JVM sbagliato cioè gradle.

+0

Grande! Che funzioni. Per i punti bonus e la gratitudine eterna, c'è un modo per avviare a catena l'attività di esecuzione e allegare il debugger remoto, qualche idea? – pschuegr

+0

Sono [impaurito] (http://stackoverflow.com/a/12454891/2464295) [no] (http://stackoverflow.com/q/3823346/2464295), [perché] (http: // StackOverflow .com/a/4558818/2464295) è un processo figlio. – ceilfors

+0

Ok, vale la pena provare :) – pschuegr

1

Posso eseguire il debug normalmente. Non riesco a eseguire il debug solo se utilizzo il demone gradle (opzione "--daemon").

+0

Ho trovato che Intellij passa automaticamente il jvmArgs richiesto, quindi disabilitando il demone (quindi il processo è iniziato con questi jvmArgs effettivamente esegue il codice) fa il trucco per me. – mabi

+0

Usa --no-daemon per una tantum disabilita il demone btw. –

+0

Questo argomento non funziona più con le versioni più recenti di IntelliJ poiché utilizza l'API Gradle Tooling. Non c'è modo di spegnere il demone. –

Problemi correlati