Java Stack Trace erzeugen¶
Mit dem Task jstack kannst du einen Stack Trace von Java-Prozessen erzeugen, die auf dem System des Benutzers laufen. Über einen Regulären Ausdruck lässt sich steuern, welche Prozesse erfasst werden. Die Ergebnisse werden in ein konfigurierbares Verzeichnis geschrieben. Neben dem Stack Trace wird optional auch eine aktuelle Übersicht aller laufenden Prozesse in dieselbe Datei aufgenommen.
Für diesen Task kannst du mehrere Anwendungen definieren, deren Prozesse individuell erfasst werden sollen. Zusätzlich lässt sich eine Abfrage nach dem Grund für den Aufruf aktivieren – inklusive eigener Optionen. Alle Funktionen können gezielt ein- oder ausgeschaltet werden.
Die erzeugte Datei mit dem Stack Trace kann beispielsweise so aussehen:
Java Stack Trace
==============================================================================
- Executed command: c:\Program Files\Java\jdk-17.0.2\bin\jstack.exe -l -e 1856
- Time: 2022-02-01T11:48:22Z
- Host: example
- User: EDUCATEIT\TestUser
- User Reason Code: no-input-possible
- User Reason Text: Application does not react on input
Process List:
------------------------------------------------------------------------------
┌────┬─────────────────────────────┬────────────────┬──────────────────────────┬────────────────────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│PID │Process Name │Kernel/User CPU │Working Set/Virtual Memory│SID │Path │
╞════╪═════════════════════════════╪════════════════╪══════════════════════════╪════════════════════════════════════════════╪═══════════════════════════════════════════════════════════════════════════════════════════════════════════════╡
│660 │smss.exe │04.125/00.015 │1.03 MB/279 KB │S-1-5-18 │C:\Windows\System32\smss.exe │
├────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│756 │csrss.exe │00.671/00.156 │4.12 MB/1.84 MB │S-1-5-18 │C:\Windows\System32\csrss.exe │
├────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│808 │csrss.exe │01.437/00.140 │11.1 MB/2.19 MB │S-1-5-18 │C:\Windows\System32\csrss.exe │
├────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
(...)
├────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│3968│QuickUserTasks_d.exe │00.343/00.359 │39.3 MB/8.61 MB │S-1-5-21-4195922218-160653008-1318508223-500│\\WORKGREEN\QuickUserTasks\QuickUserTasks\bin\x64\QuickUserTasks_d.exe │
└────┴─────────────────────────────┴────────────────┴──────────────────────────┴────────────────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Program Output:
------------------------------------------------------------------------------
2022-02-01 12:48:22
Full thread dump Java HotSpot(TM) 64-Bit Server VM (17.0.2+8-LTS-86 mixed mode, sharing):
Threads class SMR info:
_java_thread_list=0x00000009f6f863d0, length=12, elements={
0x00000009e98eb010, 0x00000009f5951340, 0x00000009f59545e0, 0x00000009f5966080,
0x00000009f5966c30, 0x00000009f59677e0, 0x00000009f59680a0, 0x00000009f5968e30,
0x00000009f596d320, 0x00000009f5973a60, 0x00000009f6fb4f90, 0x00000009f6fc00d0
}
"main" #1 prio=5 os_prio=0 cpu=859.38ms elapsed=10806.26s allocated=1170K defined_classes=7 tid=0x00000009e98eb010 nid=0x111c waiting on condition [0x00000009e902f000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(java.base@17.0.2/Native Method)
at HelloWorld.main(HelloWorld.java:9)
Locked ownable synchronizers:
- None
(...)
------------------------------------------------------------------------------
End of output
Features¶
Optimiert für die Nutzung durch Endanwender.
Erstellt automatisch einen Java Stack Trace für alle Prozesse einer Anwendung.
Flexible Prozessauswahl über reguläre Ausdrücke.
Ausgabe der Ergebnisse in eine Datei.
Optional: Ergänzende Prozessliste aller laufenden Prozesse.
Optional: Benutzerabfrage zum Grund des Aufrufs.
Unterstützung mehrerer Anwendungen mit individueller Konfiguration.
Klare Visualisierung der Ergebnisse mit Farbkennzeichnung.
Optional: Benutzerhinweise bei Erfolg oder Fehler.
Hinweise unterstützen HTML und Links zu Dokumenten oder Webseiten.
Alternative Startoptionen für mehrere Anwendungen¶
Wenn du mehrere Anwendungen konfigurierst, kannst du bestimmen, wie der Benutzer die gewünschte Anwendung auswählt.