Felsöka ditt Java Service Fabric-program med Eclipse
Starta ett lokalt utvecklingskluster genom att följa stegen i Konfigurera din Service Fabric-utvecklingsmiljö.
Uppdatera entryPoint.sh för tjänsten som du vill felsöka så att den startar Java-processen med fjärrstyrda felsökningsparametrar. Den här filen finns på följande plats:
ApplicationName\ServiceNamePkg\Code\entrypoint.sh
. Port 8001 har angetts för felsökning i det här exemplet.java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -jar myapp.jar
Uppdatera programmanifestet genom att ange antalet instanser eller antalet repliker för tjänsten som debuggas till 1. Den här inställningen förhindrar konflikter kring den port som används för felsökning. För tillståndslösa tjänster kan du t.ex. ange
InstanceCount="1"
och för tillståndskänsliga tjänster kan du ange målet och minsta replikuppsättningsstorlek till 1 enligt följande:TargetReplicaSetSize="1" MinReplicaSetSize="1"
.Distribuera programmet.
I Eclipse IDE väljer du Kör –> Felsöka konfigurationer –> Fjärranslutna Java-program och indataanslutningsegenskaper och anger egenskaperna på följande sätt:
Host: ipaddress Port: 8001
Ange brytpunkter vid önskade punkter och felsök programmet.
Om programmet kraschar kanske du också vill aktivera coredumps. Kör ulimit -c
i ett gränssnitt och om det returnerar 0 aktiveras inte coredumps. Om du vill aktivera obegränsade coredumps kör du följande kommando: ulimit -c unlimited
. Du kan också verifiera statusen med kommandot ulimit -a
. Om du vill uppdatera coredump-generationssökvägen kör du echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern
.