[JAVA] Erstellen Sie einen Thread-Dump in einer JRE-Umgebung

Auf einem Windows-Server, auf dem eine App auf JRE ausgeführt wird, ist eine Anforderung zum Abrufen eines Thread-Dumps aufgetreten. Viele Dinge zum Nachdenken

Ich kenne verschiedene Dinge nicht, daher frage ich mich, welche Art von Fehlermeldung ich erhalte, lade ein geeignetes JDK herunter und versuche jstack in einer geeigneten Java-Anwendung. Ich dachte, aber ich habe keine geeignete Java-App, also erinnerte ich mich, dass Eclipse auf Java läuft, also versuchte ich es mit Eclipse (eclipse.exe).

gerührt

(Ich habe einen Thread Dump) ↑ Falsche Verwendung der Überschrift (Ich wollte sie groß machen, aber dies ist der einzige Weg, dies zu tun)

Ich weiß überhaupt nicht, was ver und welche Java-Ausführungsumgebung eclipse.exe ist, aber ich verstehe das jstack funktioniert überhaupt, auch wenn es geeignet ist Es ist in Ordnung, wenn sich der Pfad oder die Version zwischen jstack und dem zu erfassenden Java unterscheidet.

Als nächstes werden wir es unter der Annahme einer Akquisition in der Produktion überprüfen

Dies ist auch in Ordnung

Gehen wir weiter und versuchen, nur jstack.exe und die Bibliothek zu kopieren und auszuführen

java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider: Provider sun.tools.attach.WindowsAttachProvider could not be instantiated
1548: no providers installed

(Es tut mir leid, ich habe geschrieben, dass ich es im ersten Beitrag geschafft habe, aber als ich es später noch einmal versuchte, war es nicht gut)

Obwohl das JDK installiert werden muss, stellte sich heraus, dass jstack auch mit einem JRE-Partner problemlos einen Thread-Dump durchführen kann.

(Bemerkungen)

――In erster Linie sollten Sie JDK von Anfang an verwenden.

jstack -l <PID>
Error:Hauptklasse Sonne.tools.jstack.JStack wurde nicht gefunden oder konnte nicht geladen werden

Das Ende

Recommended Posts

Erstellen Sie einen Thread-Dump in einer JRE-Umgebung
Erstellen einer Lambda-Entwicklungsumgebung mit Eclipse
Erstellen eines Servlets in der Liberty-Umgebung
Zwei Möglichkeiten, einen Thread in Java + @ zu starten
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
[Hinweis] Erstellen Sie eine Python3-Umgebung mit Docker in EC2
Erstellen Sie in 5 Minuten eine MySQL-Testumgebung (+ Millionen von Testdaten)
Installieren / Ausführen eines eigenständigen Robotersimulators in der wsl2 / docker-Umgebung!
Beheben Sie den CreateProcess-Fehler = 206, wenn Sie Java in einer Windows-Umgebung ausführen