Может ли JProfiler измерить глубину стека? - PullRequest
2 голосов
/ 30 ноября 2011

Это тесно связано с другим вопросом: Как я могу измерить глубину стека потоков?

Может ли JProfiler наблюдать за потоками и измерять, где происходят самые глубокие стеки?Если так, как я могу это сделать?Я хотел бы найти точки в моем приложении, где я опасно близок к запуску ошибки StackOverflowError.

1 Ответ

1 голос
/ 04 декабря 2011

JProfiler не имеет этой функции напрямую. Однако вы можете сделать следующее:

  • Запись данных ЦП с выборкой и без фильтров

  • перейти к представлению дерева вызовов в разделе CPU

  • экспортировать дерево вызовов в формате XML, выбрав опцию «все дерево» в нижней части диалогового окна выбора файлов

  • написать небольшую программу, которая анализирует экспортированный XML-файл и находит наиболее глубоко вложенные элементы

Вы также можете автоматизировать это с помощью автономного профилирования и триггера для записи данных ЦП и сохранения снимка. С помощью исполняемого файла командной строки jpexport вы можете экспортировать дерево вызовов из сохраненного снимка.

...