Share via


Felsöka ditt Java Service Fabric-program med Eclipse

  1. Starta ett lokalt utvecklingskluster genom att följa stegen i Konfigurera din Service Fabric-utvecklingsmiljö.

  2. 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
    
  3. 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".

  4. Distribuera programmet.

  5. I Eclipse IDE väljer du Kör –> Felsöka konfigurationer –> Java-fjärrprogram och indataanslutningsegenskaper och anger egenskaperna på följande sätt:

    Host: ipaddress
    Port: 8001
    
  6. 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.

Nästa steg