java - 使用 Samurai 进行线程转储分析

标签 java multithreading jvm visualvm thread-dump

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

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

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 运行而不出现错误?

最佳答案

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

关于java - 使用 Samurai 进行线程转储分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18563944/

相关文章:

java - 使用 Spring Boot 国际化

Javax 验证未捕获 POJO 的内部字段

java - 使用 ./gradlew run 执行任务 ':app:compileJava' 失败

java - JPA 问题,使用父实体的主键作为子实体的主键

java - 监控流程输出及其执行的最佳方法

java - 如何使用客户端/服务器 Nailgun(在 Debian Stretch 上)运行一个简单的 Java 程序?

c++ - C中的多线程-WINAPI

android - 为android编程时的多线程问题

java - 了解最大 JVM 堆大小 - 32 位与 64 位

java - Kotlin作用域函数其实是java匿名类?