java - JProfiler 可以测量堆栈深度吗?

标签 java stack-overflow jprofiler

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

JProfiler 能否观察线程并测量最深堆栈出现的位置?如果是这样,我该怎么做?我想在我的应用程序中找到接近触发 StackOverflowError 的危险点。

最佳答案

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

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

  • 转到CPU部分的调用 TreeView

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

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

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

关于java - JProfiler 可以测量堆栈深度吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8330033/

相关文章:

c# - 无法增加堆栈大小 Visual Studio 2013 C#

java - JProfiler - "Run GC"按钮与堆快照的 "Perform full GC in heap snapshot"选项

java - Java 存储 native 对象的位置

java - 使用 Weka 进行文本分类

java - postDelayed 有时无法在 Android 中运行

linux - 64 位上的堆栈驻留缓冲区溢出?

java - 带有 id 和配置参数的 JProfiler Agent 问题

java - 在 Play Framework 中混合使用 scala 和 java

java - 数组列表到 Collection<Object>

java - 程序抛出堆栈溢出错误