Remote debugging


Remote debugging

Remote debugging to mechanizm który pozwala na weryfikację poprawności działania aplikacji która działa na środowisku testowym/produkcyjnym z poziomu lokalnej maszyny. Jest to bardzo istotne zagadnienie z zakresu utrzymania aplikacji. Na potrzeby tego wpisu wykorzystamy aplikację z wpisu – https://javaleader.pl/2019/08/03/spring-security-basic-authentication/. Aplikację należy spakować do pliku *.jar z użyciem polecenia:

 mvn package

aplikację uruchamiamy z poziomu terminala poleceniem – (należy oczywiście przejść do katalogu w którym znajduje się wynikowy plik):

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar .\spring-security-basic-authentication-0.0.1-SNAPSHOT.jar

po uruchomieniu aplikacji – pod adresem:

http://localhost:8080/data/json

po zalogowaniu się danymi:

login: admin

hasło: nimda

zobaczyć można następujący wynik w formacie json:

json "json value"

w środowisku IntelliJ ustawiamy breakpoint w dowolnym miejscu kodu np.

Następnie wybieramy:

  • Run -> Edit Configurations

i uzupełniamy w następujący oto sposób:

Na potrzeby niniejszego projektu należy wybrać JDK 5 -8. Uruchamiamy zdalne debuggowanie z listy rozwijanej wybierając remote (nadana wcześniej nazwa konfiguracji) oraz klikając na symbol “robaka z ang. debug“.

po przejściu na endpoint:

http://localhost:8080/data/json

w środowisku IntelliJ zobaczyć można lokalnie przechwycony breakpoint z aplikacji działającej zdalnie:

 


Leave a comment

Your email address will not be published.


*