如何使用应用程序抛出异常时记录的转储来调试生产java?

时间:2016-10-11 13:37:38

标签: java debugging production

我们如何调试以后抛出异常时发生的事情?

我们有一个用Java编写的生产应用程序随机抛出异常,我们可以捕获并登录服务器。我们想调试这个以查看发生了什么,因为日志没有透露太多信息。

通过调试我的意思是步入调试器,如Eclipse或IntelliJ的调试器,并遍历代码,了解抛出异常时发生的事情,完成将数据传递给方法和局部变量等。

所以我希望在发生这种情况时保存一些转储,然后能够在某个工具中加载该转储以在事后调试它。

所以我更喜欢以下解决方案:

  • 可以从代码创建转储文件,而不会对我们的生产应用程序产生负面影响
  • 例如,可以使用Eclipse的调试器等GUI工具进行分析。

1 个答案:

答案 0 :(得分:1)

我建议您查看Oracle的JVM Flight Recorder,它不是免费的,但完全符合这种情况。

http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html