JProfiler可以测量堆栈深度吗?



这与另一个问题密切相关:如何测量线程堆栈深度?

JProfiler可以监视线程并测量最深的堆栈发生在哪里吗?如果有,我该怎么做呢?我想在我的应用程序中找到我正在危险地接近触发StackOverflowError的地方。

JProfiler没有这个功能。但是,您可以执行以下操作:

  • 记录CPU数据,不带采样,不带滤波器

  • 进入CPU部分的调用树视图

  • 以XML格式导出呼叫树,选择文件选择器对话框底部的"整个树"选项

  • 写一个小程序,分析导出的XML文件,找出嵌套最深的元素

您还可以使用离线分析和触发器来自动记录CPU数据并保存快照。使用"jpexport"命令行可执行文件,您就可以从保存的快照中导出调用树。

最新更新