2015-04-23 29 views
10

Próbuję debugować aplikację Grails 3.x przy użyciu grails run-app --debug-fork. Ale gdy aplikacja się uruchomi, nie czeka na dołączenie debuggera. Jakieś rozwiązanie dotyczące debugowania aplikacji Grails 3.x?Debugowanie aplikacji Grails 3.x

Odpowiedz

20

Należy użyć flagi --debug-jvm. Na przykład: grails --debug-jvm run-app

+3

Czy istnieje sposób korzystania z tej opcji w środowisku IDE? – IcedDante

+0

@IcedDante Możesz z łatwością używać go w dowolnym IDE, konfigurując konfigurację uruchamiania, po prostu wpisując '--debug-jvm' w polach poleceń. Wszystkie standardowe IDE obsługują dodatkowe argumenty wiersza poleceń. –

3

Inną opcją jest bezpośrednie uruchomienie klasy Application znajdującej się w grails-app/init. Ma numer static void main i działa jak zwykła aplikacja. Możesz uruchomić go bezpośrednio z IDE za pomocą profilu debugowania.

10

W IntelliJ można kliknąć prawym przyciskiem myszy zadanie Gradle bootRun i wybrać Debugowanie.

2

W IntelliJ IDEA 2016.1 tworzę dwie konfiguracje. To pozwala mi na solidne wykorzystanie wszystkich menu kontekstowych itp., Które oferuje IntelliJ IDEA. Oto, jak:

  1. Pierwsza konfiguracja to konfiguracja "Uruchom". Edytuj domyślną konfigurację iw polu "Wiersz polecenia" wprowadź run-app --debug-jvm
  2. Druga konfiguracja jest konfiguracją "zdalną". W oknie dialogowym "Run/Debug" kliknij symbol + i wybierz "Remote" z listy . Nazwij go "Debuguj" i zapisz.
  3. Wybierz konfigurację "Uruchom" z menu konfiguracji u góry, a następnie kliknij zieloną strzałkę, aby uruchomić aplikację. Monitoruj wyjście konsoli , dopóki nie pojawi się komunikat: Listening for transport dt_socket at address: 5005.
  4. Wybierz profil zdalnego debugowania utworzony w kroku 2 i kliknij przycisk debugowania. Za kilka chwil wyjście konsoli powie: Grails application running at http://localhost:8080 in environment: development.

Sukces!

+0

Mój projekt działa poprawnie, ale jeśli próbuję debugować, jak opisano powyżej, dostaję ten błąd ERROR org.apache.tomcat.jdbc.pool.ConnectionPool - Nie można utworzyć początkowych połączeń puli. – Ashu

+0

w pliku gradle Dodałem ten buildscript-> dependencies-> classpath "mysql: mysql-connector-java: 5.1.29" teraz działa :) – Ashu