Eseguire il debug dell'applicazione Service Fabric di Java con EclipseDebug your Java Service Fabric application using Eclipse

  1. Avviare un cluster di sviluppo locale seguendo la procedura descritta nell'articolo Configurazione dell'ambiente di sviluppo di Service Fabric.Start a local development cluster by following the steps in Setting up your Service Fabric development environment.

  2. Aggiornare l'elemento entryPoint.sh del servizio di cui eseguire il debug in modo che avvii il processo Java con i parametri di debug remoto.Update entryPoint.sh of the service you wish to debug, so that it starts the java process with remote debug parameters. Questo file si trova nel percorso seguente: ApplicationName\ServiceNamePkg\Code\entrypoint.sh.This file can be found at the following location: ApplicationName\ServiceNamePkg\Code\entrypoint.sh. In questo esempio la porta 8001 è impostata per il debug.Port 8001 is set for debugging in this example.

    java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=y -Djava.library.path=$LD_LIBRARY_PATH -jar myapp.jar
    
  3. Aggiornare il manifesto dell'applicazione impostando il numero di istanze o di repliche per il servizio di cui eseguire il debug su 1.Update the Application Manifest by setting the instance count or the replica count for the service that is being debugged to 1. Questa impostazione evita che si verifichino conflitti per la porta usata per il debug.This setting avoids conflicts for the port that is used for debugging. Per i servizi senza stato, ad esempio, impostare InstanceCount="1", mentre per i servizi con stato impostare la destinazione e le dimensioni minime del set di repliche su 1 nel modo seguente: TargetReplicaSetSize="1" MinReplicaSetSize="1".For example, for stateless services, set InstanceCount="1" and for stateful services set the target and min replica set sizes to 1 as follows: TargetReplicaSetSize="1" MinReplicaSetSize="1".

  4. Distribuire l'applicazione.Deploy the application.

  5. Nell'IDE di Eclipse selezionare Run (Esegui) -> Debug Configurations (Configurazioni di debug) -> Remote Java Application (Applicazione Java remota) e le proprietà di connessione di input e impostare le proprietà come segue:In the Eclipse IDE, select Run -> Debug Configurations -> Remote Java Application and input connection properties and set the properties as follows:

    Host: ipaddress
    Port: 8001
    
  6. Impostare punti di interruzione nei punti desiderati ed eseguire il debug dell'applicazione.Set breakpoints at desired points and debug the application.

Se l'applicazione si arresta in modo anomalo, è possibile abilitare elementi core dump.If the application is crashing, you may also want to enable coredumps. Eseguire ulimit -c in una shell e, se viene restituito 0, gli elementi core dump non sono abilitati.Execute ulimit -c in a shell and if it returns 0, then coredumps are not enabled. Per abilitare elementi core dump illimitati, eseguire questo comando: ulimit -c unlimited.To enable unlimited coredumps, execute the following command: ulimit -c unlimited. È anche possibile verificare lo stato usando il comando ulimit -a.You can also verify the status using the command ulimit -a. Se si vuole aggiornare il percorso di generazione degli elementi core dump, eseguire echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern.If you wanted to update the coredump generation path, execute echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern.

Passaggi successiviNext steps