1

我尝试使用Samurai来分析我的线程转储。

我从 Java VisualVM 保存了一个线程转储,它提供了一个 .tdump 文件。然后我开始了武士

java -jar samurai.jar

我将线程转储文件拖到 Samurai 中,并在控制台中出现以下错误:

java.lang.ArrayIndexOutOfBoundsException: 0
    at samurai.swing.ThreadDumpPanel$7.run(ThreadDumpPanel.java:634)
    at samurai.swing.LogRenderer.invokeLater(LogRenderer.java:78)
    at samurai.swing.ThreadDumpPanel.updateHtml(ThreadDumpPanel.java:629)
    at samurai.swing.ThreadDumpPanel.access$300(ThreadDumpPanel.java:61)
    at samurai.swing.ThreadDumpPanel$8.onFullThreadDump(ThreadDumpPanel.java:665)
    at samurai.core.ThreadDumpExtractor.fullThreadDumpEnded(ThreadDumpExtractor.java:175)
    at samurai.core.ThreadDumpExtractor.finish(ThreadDumpExtractor.java:151)
    at samurai.swing.ThreadDumpPanel.logEnded(ThreadDumpPanel.java:688)
    at samurai.tail.MultipleLogWatcher.logEnded(MultipleLogWatcher.java:96)
    at samurai.tail.SingleLogWatcher.logEnded(SingleLogWatcher.java:212)
    at samurai.tail.SingleLogWatcher.checkUpdate(SingleLogWatcher.java:123)
    at samurai.tail.Tailer.run(Tailer.java:56)
Saving configuration.[/Users/test/.samurai.properties]

我该怎么做才能使 Samurai 运行而不会出现错误?

4

2 回答 2

1

我无法帮助解决 Samurai 问题,您可以尝试使用VisualVM 的TDA 插件。TDA 应该能够提供与 Samurai 相同的信息。

于 2013-10-26T13:53:31.393 回答
0

fastThread.io等工具可以对所有线程的堆栈跟踪进行分组并生成一个单独的调用堆栈树。您可以在此树上向下和向上钻取以查看关键代码路径。下面是“fastThread.io”生成的示例调用堆栈树。欢迎您到这里查看实时报告中的调用堆栈树。

如何识别关键代码路径?

于 2019-07-01T05:38:09.723 回答