Fouten opsporen in uw Java Service Fabric-toepassing met behulp van Eclipse
Start een lokaal ontwikkelcluster door de stappen te volgen in het instellen van uw Service Fabric-ontwikkelomgeving.
Werk entryPoint.sh bij van de service waar u fouten wilt opsporen, zodat dit het Java-proces met de parameters voor foutopsporing op afstand begint. Dit bestand is te vinden op de volgende locatie:
ApplicationName\ServiceNamePkg\Code\entrypoint.sh
. Poort 8001 is in dit voorbeeld voor foutopsporing ingesteld.java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -jar myapp.jar
Werk het toepassingsmanifest bij door het aantal exemplaren of het aantal replica's in te stellen voor de service die wordt opgespoord naar 1. Deze instelling voorkomt conflicten voor de poort die wordt gebruikt voor het opsporen van fouten. Stel bijvoorbeeld voor stateless services
InstanceCount="1"
in en stel voor stateful services de doel- en min-replicasetgrootten als volgt in op 1:TargetReplicaSetSize="1" MinReplicaSetSize="1"
.De toepassing implementeren.
Selecteer in de Eclipse IDE Uitvoeren -> Foutopsporingsconfiguraties -> Externe Java-toepassing en invoerverbindingseigenschappen en stel de eigenschappen als volgt in:
Host: ipaddress Port: 8001
Stel onderbrekingspunten in op gewenste punten en foutopsporing in de toepassing.
Als de toepassing vastloopt, wilt u mogelijk ook coredumps inschakelen. Voer ulimit -c
uit in een shell en als deze 0 retourneert, zijn coredumps niet ingeschakeld. Als u onbeperkte coredumps wilt inschakelen, voert u de volgende opdracht uit: ulimit -c unlimited
. U kunt ook de status controleren met behulp van de opdracht ulimit -a
. Als u het coredump-generatiepad wilt bijwerken, voert u het uit echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern
.
Volgende stappen
- Verzamel logboeken met behulp van Azure Diagnostics voor Linux.
- Services lokaal bewaken en diagnosticeren.