JProfiler 可以测量堆栈深度吗?

Posted

技术标签:

【中文标题】JProfiler 可以测量堆栈深度吗?【英文标题】:Can JProfiler measure stack depth? 【发布时间】:2011-11-30 17:10:50 【问题描述】:

这与另一个问题密切相关:How can I measure thread stack depth?

JProfiler 可以监视线程并测量最深堆栈出现的位置吗?如果是这样,我该怎么做?我想在我的应用程序中找到接近触发 ***Error 的危险点。

【问题讨论】:

【参考方案1】:

JProfiler 没有直接将此作为功能。但是,您可以执行以下操作:

使用采样和无过滤器记录 CPU 数据

进入 CPU 部分的调用树视图

以 XML 格式导出调用树,选择文件选择器对话框底部的“整个树”选项

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

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

【讨论】:

优秀的答案!非常感谢。

以上是关于JProfiler 可以测量堆栈深度吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以限制通用堆栈的深度吗?

增加摄影测量模型的深度细节

JProfiler :在垃圾收集器收集对象之后。如果堆上有任何 Live 对象,是内存泄漏吗?

如何测量 C 中的函数堆栈使用情况?

iOS 中深度嵌套的视图层次结构可以吗?

测量 Linux 多线程应用程序的堆栈使用情况