Hvordan stable spore en løpsprosess i Java

Hvordan stable spore en løpsprosess i Java
En stabelspor er ikke annet enn plasseringen av unntak i Java -programmer, eller du kan si at den brukes til å finne disse linjene i en kode der unntak oppstår. En stack-spor fungerer på samme måte som en bunke med papirer på skrivebordet ditt gjør først-inn, siste-out. Du legger papirer til haugen og tar dem ut i omvendt rekkefølge. Det inneholder detaljer om en prosess eller en operasjon som koden din påkalt. Som et resultat er Java Stack Trace en sekvens av rammer som begynner med den nåværende metoden og slutter med programmets oppstart.

Stabelen, også kjent som Runtime eller Call Stack, er en samling av stakkrammer laget av et program mens den kjører og lagret i en stabeldatastruktur. Java Virtual Machine (JVM) vil automatisk generere et stakkspor når et unntak oppstår. Så denne artikkelen vil gi deg retningslinjen for hvordan du kan bruke stakksporet til løpsprosessen i Java.

Hva er stabelsporing i Java

Nå før du oppretter en Java -fil, må du sørge for at du har installert Java Development Kit (JDK) -applikasjonen i Linux -operativsystemet ditt, ellers vil du ikke kunne utføre noe Java -program ved å skrive:

$ sudo apt install standard-jdk

Etter å ha installert denne forutsetningsapplikasjonen, må du opprette en Java -fil og en av de enkleste måtene å gjøre dette på er ved å bruke hvilken som helst tekstredigerer ved å skrive:

$ Nano JavastackTrace.Java

Etter å ha opprettet en Java -fil, er neste trinn å skrive og lagre en kode i den som kan sees nedenfor:

Etter å ha lagret en Java -fil, er neste trinn å samle og kjøre den:

$ Javac JavastackTrace.Java
$ Java JavastackTrace

Du kan se at vi har skrevet demofun3 () Som den siste funksjonen mens du skriver en kode, men den er blitt utført i den andre linjen, da dette er poenget med sporingsgenerering som vil være ansvarlig for å utføre dumpstack () som vil vise utgangen på skjermen. De resterende funksjonene som starter fra demofun2 () til Demofun () vil utføre etterpå i omvendt rekkefølge og hoved() Funksjon vises nederst, da den er ansvarlig for å starte programmet og vil også kalle andre funksjoner også.

Du kan si at stack -utførelsespunktet starter fra første linje og stabelrammen starter fra den andre linjen til den siste linjen som utgjør hele stakksporet. Vi kan observere at metoden som utføres først blir Stack Trace sin siste stabelramme, mens metoden som utføres sist blir stakksporens første stabelramme, og som et resultat representerer hvert stakksporstykke en stabelramme.

Hvordan stable spor etter en løpsprosess

JStack er et flott verktøy for å løse problemer. La oss implementere det i Java:

offentlig klasse tvangstump
public static void main (String [] args) kaster unntak
prøv
mens (sant)
Tråd.søvn (2000);

fangst (NullPointerException Demo)
Demo.printStackTrace ();


Etter det kan du opprette en Java -fil ved hjelp av hvilken som helst tekstredigerer som vi gjorde ved å bruke en Nano Text Editor som vist nedenfor

$ nano tvangstump.Java

Etter det kompilerer det ved å bruke:

$ Javac Forcedump.Java

Og utfør:

$ Java tvangstump

Etter å ha kjørt dette programmet starter en bakgrunnsprosess; For å finne prosess -ID (PID), åpne et annet terminalvindu, og bruk:

$ ps aux | grep tvangstump

Deretter kan du finne ytterligere informasjon angående tråder som kjører i en prosess ved å bruke kommandoen nedenfor:

$ jstack

Prosess -ID er 4457 som vist på bildet:

$ Jstack 4457

Konklusjon

A Stack Trace er en samling av stakkrammer som illustrerer et bestemt øyeblikk i løpet av et programs utførelse. Det inneholder detaljer om en metode eller funksjon som koden din påkalt. Derfor er Java Stack Trace en serie rammer som starter med den nåværende metoden og slutter med begynnelsen av programmet. I denne artikkelen har vi vist deg hvordan du kan implementere stakksporingsprosessen på Java -programmeringsspråket.