Jak układać proces śledzenia uruchamiania w Javie

Jak układać proces śledzenia uruchamiania w Javie
Ślad stosu jest niczym więcej niż lokalizacją wyjątków w programach Java lub można powiedzieć, że służy do znalezienia tych wierszy kodu, w którym występują wyjątki. Trace stosu działa w taki sam sposób, jak stos papierów na biurku, który jest pierwszym, w ostatnim wyniku. Dodajesz papiery do stosu, a następnie wyciągasz je w odwrotnej kolejności. Zawiera szczegóły dotyczące procesu lub operacji, które wywołał Twój kod. W rezultacie ślad stosu Java jest sekwencją ramek, które zaczynają się od bieżącej metody, a kończy się początkiem programu.

Stack, znany również jako czas wykonawczy lub Stack Call, to zbiór ramek stosu utworzonych przez program, podczas gdy działa i przechowywany w strukturze danych stosu. Maszyna wirtualna Java (JVM) automatycznie wygeneruje ślad stosu, gdy wystąpi wyjątek. Tak więc ten artykuł zawiera wytyczne dotyczące tego, jak możesz użyć śladu stosu procesu uruchamiania w Javie.

Co jest śledzeniem stosu w Javie

Teraz przed utworzeniem pliku Java musisz upewnić się, że zainstalowałeś aplikację Java Development Kit (JDK) w systemie operacyjnym Linux, w przeciwnym razie nie będziesz mógł wykonać żadnego programu Java, wpisując:

$ sudo apt Zainstaluj default-jdk

Po zainstalowaniu tej wymaganej aplikacji musisz utworzyć plik Java i jednym z najłatwiejszych sposobów tego, jest użycie dowolnego edytora tekstu, wpisując:

$ nano javastackTrace.Jawa

Po utworzeniu pliku Java następnym krokiem jest napisanie i zapisanie w nim kodu, który można zobaczyć poniżej:

Po zapisaniu pliku Java następnym krokiem jest skompilowanie i uruchomienie:

$ Javac JavastackTrace.Jawa
$ Java JavastackTrace

Możesz zobaczyć, że napisaliśmy demofun3 () jako ostatnia funkcja podczas pisania kodu, ale została wykonana w drugim wierszu, ponieważ jest to punkt generowania śledzenia, który będzie odpowiedzialny za wykonanie Dumpstack () który wyświetli wyjście na ekranie. Pozostałe funkcje zaczynające się od demofun2 () Do demofun () później wykonuje się w kolejności odwrotnej i główny() Funkcja jest wyświetlana na dole, ponieważ jest odpowiedzialna za uruchomienie programu, a także wywoła inne funkcje.

Można powiedzieć, że punkt wykonania stosu zaczyna się od pierwszego wiersza, a ramka stosu zaczyna się od drugiej linii do ostatniego wiersza, która składa się na całe stosowanie śladu stosu. Możemy zauważyć, że metoda wykonana najpierw staje się ostatnią ramą stosu stosu, podczas gdy metoda, która jest ostatnio wykonana.

Jak układać ślad procesu działającego

JSTack to doskonałe narzędzie do rozwiązywania problemów z czasem działania, szczególnie jeśli aplikacja działa, zużywając więcej procesora lub pamięci niż oczekiwano, możesz rozwiązać problem z aplikacją. Zaimplementujmy to w Javie:

Klasa publiczna Forcedump
public static void main (string [] args) rzuca wyjątek
próbować
while (true)
Nitka.Sleep (2000);

catch (demo nullPoInterException)
Próbny.printStackTrace ();


Następnie możesz utworzyć plik Java za pomocą dowolnego edytora tekstu, tak jak my za pomocą nano edytora tekstu, jak pokazano poniżej

$ Nano Forcedump.Jawa

Po tym skompiluj go za pomocą:

$ Javac Forcedump.Jawa

I wykonaj:

$ Java Forcedump

Po uruchomieniu tego programu rozpocznie się proces w tle; Aby znaleźć identyfikator procesu (PID), otwórz kolejne okno terminalu i użyj:

$ ps aux | Grep wymuszony

Następnie możesz znaleźć dodatkowe informacje dotyczące wątków, które są uruchomione w procesie za pomocą poniższego polecenia:

$ jstack

Identyfikator procesu wynosi 4457, jak pokazano na obrazie:

$ jstack 4457

Wniosek

A Trace Stack to zbiór ramek, który ilustruje określony moment podczas wykonania programu. Zawiera szczegóły dotyczące metody lub funkcji, którą wywołał Twój kod. Dlatego Java Stack Trace to seria ramek, które zaczynają się od bieżącej metody i kończy się na początku programu. W tym artykule pokazaliśmy, jak wdrożyć proces śledzenia stosu w języku programowania Java.