Udostępnij za pośrednictwem


Debugowanie aplikacji Java Service Fabric przy użyciu środowiska Eclipse

  1. Uruchom lokalny klaster deweloperów, wykonując kroki opisane w temacie Konfigurowanie środowiska programistycznego usługi Service Fabric.

  2. Zaktualizuj plik entryPoint.sh usługi do debugowania, tak aby uruchamiał proces języka Java z parametrami debugowania zdalnego. Ten plik można znaleźć w następującej lokalizacji: ApplicationName\ServiceNamePkg\Code\entrypoint.sh. W tym przykładzie na potrzeby debugowania ustawiono port 8001.

    java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -jar myapp.jar
    
  3. Zaktualizuj manifest aplikacji, ustawiając liczbę wystąpień lub liczbę replik dla usługi, która jest debugowana na 1. To ustawienie pozwala uniknąć konfliktów z portem używanym podczas debugowania. Na przykład w przypadku usług bezstanowych ustaw InstanceCount="1", a dla usług stanowych ustaw docelowy i minimalny rozmiar zestawu replik na 1 w następujący sposób: TargetReplicaSetSize="1" MinReplicaSetSize="1".

  4. Wdrażanie aplikacji.

  5. W środowisku IDE środowiska Eclipse wybierz kolejno pozycje Uruchom —> Konfiguracje debugowania —> Zdalna aplikacja Java i właściwości połączenia wejściowego , a następnie ustaw następujące właściwości:

    Host: ipaddress
    Port: 8001
    
  6. Ustaw punkty przerwania w żądanych punktach i debuguj aplikację.

Jeśli aplikacja ulega awarii, możesz również włączyć elementy coredumps. Wykonaj ulimit -c polecenie w powłoce i jeśli zwraca wartość 0, wówczas coredumps nie są włączone. Aby włączyć nieograniczoną liczbę rdzeni, wykonaj następujące polecenie: ulimit -c unlimited. Stan można również sprawdzić przy użyciu polecenia ulimit -a. Jeśli chcesz zaktualizować ścieżkę generowania coredump, wykonaj polecenie echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern.

Następne kroki