2010-11-30 9 views
4

Ich habe eine Anwendung, die getStackTrace() auf einem java.lang.management.ThreadInfo Objekt ruft, aber das StackTraceElement Array, das durch den Aufruf erzeugt wird, ist Nulllänge.Anforderung einer Stack-Ablaufverfolgung für eine Java-ThreadInfo?

Inspektion der Javadoc zeigt diese (Hervorhebung von mir):

public StackTraceElement[] getStackTrace() 

Gibt die Stapelüberwachung des Gewindes mit diesem Thread verbunden. Wenn für diese Thread-Informationen kein Stack-Trace angefordert wurde, gibt diese Methode ein Array mit der Länge null zurück. Wenn das zurückgegebene Array eine Länge ungleich Null hat, stellt das erste Element des Arrays den Anfang des Stapels dar. Dies ist der letzte Methodenaufruf in der Sequenz. Das letzte Element des Arrays stellt den unteren Teil des Stapels dar, bei dem es sich um den letzten Methodenaufruf in der Sequenz handelt.

Wie fordere ich einen Stack-Trace für diese Thread-Informationen an?

Antwort

7

Wie rufen Sie getThreadInfo()?

Geben Sie eine Stapelverfolgungstiefe an?

getThreadInfo (long-ID, int maxDepth) für ein Gewinde des angegebenen ID einen Thread info zurückkehrt, mit Stapel Spur von einer bestimmten Anzahl von Stapel Spurenelemente.

+0

Danke! Ich habe keine Tiefe angegeben. –