在Java程序的事后调试信息快照中应该怎么做?

时间:2011-07-18 08:40:06

标签: java postmortem-debugging

我们希望能够创建一个zip文件,其中包含尽可能多的有关当前正在运行的Java程序(可能正在向下)的信息,以便进行事后验证分析。我们目前部署到Java 5,但Java 6功能也很有趣。

到目前为止,我已经想到了:

  • 以编程方式生成的线程转储。这似乎在Java 6中更好用。
  • 最近X分钟记录的日志事件。我们目前使用logback或java.util.logging。
  • 一些序列化对象。
  • 外部环境 - 所有系统属性。

JVM信息还有什么用处?

是否有可能以通用的方式遍历调用堆栈并查看参数? (或者这需要JVMTI或同等版本)。它是IBM JVM,因此我们不能使用jvisualvm和Attach API。

1 个答案:

答案 0 :(得分:0)

你可以一路走下去并捕获一个完整的堆转储?我意识到你在IBM JVM上,但this page似乎表明有办法。