Запрос трассировки стека для Java ThreadInfo? - PullRequest
5 голосов
/ 30 ноября 2010

У меня есть приложение, которое вызывает getStackTrace() для объекта java.lang.management.ThreadInfo, но массив StackTraceElement, созданный при вызове, имеет нулевую длину.

Проверка Javadoc показывает это (выделено мной):

public StackTraceElement[] getStackTrace()

Возвращает трассировку стека потока, связанного с этим ThreadInfo. Если для этой информации о потоке не была запрошена трассировка стека, этот метод вернет массив нулевой длины . Если возвращаемый массив имеет ненулевую длину, то первый элемент массива представляет вершину стека, что является самым последним вызовом метода в последовательности. Последний элемент массива представляет нижнюю часть стека, что является наименьшим последним вызовом метода в последовательности.

Как запросить трассировку стека для этой информации о потоке?

1 Ответ

9 голосов
/ 30 ноября 2010

Как вы звоните getThreadInfo () ?

Вы указываете глубину трассировки стека?

getThreadInfo (длинный идентификатор, int maxDepth) Возвращает информацию о потоке для указанного идентификатора со стеком трассировка указанного количества стеков микроэлементы.

...