Debugowanie aplikacji Java Service Fabric przy użyciu środowiska Eclipse
Uruchom lokalny klaster deweloperów, wykonując kroki opisane w temacie Konfigurowanie środowiska programistycznego usługi Service Fabric.
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
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"
.Wdrażanie aplikacji.
W środowisku IDE środowiska Eclipse wybierz pozycję Uruchom —> Debuguj konfiguracje —> Zdalna aplikacja Java i właściwości połączenia wejściowego, a następnie ustaw właściwości w następujący sposób:
Host: ipaddress Port: 8001
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, nie włączono parametrów coredumps. 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
.