2013-06-18 13 views
6

Teraz, kiedy IntelliJ 12.1 został wyłączony, miałem nadzieję na dołączenie debuggera do aplikacji "gradle run" i zatrzymanie go w punktach przerwania. Próbowałem zarówno prawym przyciskiem myszy i wybierając polecenie Uruchom do debugowania i ustawienie GRADLE_OPTS zmienne środowiskowe jak zasugerowano w tej odpowiedzi:Używanie Intellij do ustawiania pułapek w gradle project

Debug Gradle plugins with IntelliJ

oraz załączeniem debugger zdalnie, który działa dobrze, ale żaden z nich nie łamie się na punkty przerwania. Muszę czegoś przegapić.

Odpowiedz

11

Mogę zdalnie debugować, konfigurując zadanie run. Ponieważ jest to JavaExec zadanie, wspiera jvmArgs właściwości:

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

i debugowania właściwości:

run { 
    debug true 
} 

Kliknięcie prawym przyciskiem myszy w celu debugowania nie wydaje się działać, ponieważ IntelliJ jest dołączenie debuggera do niewłaściwego JVM tj. gradle.

+0

Świetnie! To działa. Za punkty bonusowe i wieczną wdzięczność, czy istnieje sposób na łańcuchowe uruchamianie zadania uruchomienia i dołączanie zdalnego debuggera, jakiś pomysł? – pschuegr

+0

Jestem [boi się] (http://stackoverflow.com/a/12454891/2464295) [no] (http://stackoverflow.com/q/3823346/2464295), [ponieważ] (http: // stackoverflow .com/a/4558818/2464295) to proces potomny. – ceilfors

+0

OK, warto spróbować :) – pschuegr

1

Mogę normalnie debugować. Nie mogę debugować, jeśli używam demona gradle (opcja "--daemon").

+0

Znalazłem, że Intellij automatycznie przekazuje wymagane jvmArgs, wyłączając demona (więc proces rozpoczął się od te jvmArgs faktycznie wykonuje kod) robi mi sztuczkę. – mabi

+0

Użyj --no-daemon do jednorazowego wyłączenia demona btw. –

+0

Ten argument nie działa już z najnowszymi wersjami IntelliJ, ponieważ używa interfejsu API Gradle Tooling. Nie ma sposobu na wyłączenie demona. –

Powiązane problemy