发生特殊异常时是否可以创建 Java 转储?由于我需要在异常发生时检查转储内存,例如当发生空指针异常时,它可以自动生成转储。我们知道.net平台有这样一个工具procdump https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx ,不知道Java有没有类似的方法?
最佳答案
您可以处理所需的异常,并将以下代码放入 catch 中以随时捕获堆转储
ObjectName memoryMXBean = new ObjectName("com.sun.management:type=HotSpotDiagnostic");
Object[] params = new Object[] { "myHeapDump.hprof", Boolean.TRUE };
String[] signature = new String[] { String.class.getName(), boolean.class.getName() };
Object result = connection.invoke(memoryMXBean, "dumpHeap", params, signature);
关于java - 当发生特殊异常时是否可以创建 Java 转储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41568807/