2013-11-20 8 views
17

ottengo la seguente eccezione quando prendo un heapDump utilizzandoEccezione quando si scatta una heapDump utilizzando jmap

jmap -F -dump: format = b, file =/tmp/heapDump/before.hprof 10737

Attaching to process ID 10737, please wait... 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at sun.tools.jmap.JMap.runTool(JMap.java:179) 
    at sun.tools.jmap.JMap.main(JMap.java:110) 
Caused by: java.lang.RuntimeException: Type "nmethodBucket*", referenced in VMStructs::localHotSpotVMStructs in the remote VM, was not present in the remote VMStructs::localHotSpotVMTypes table (should have been caught in the debug build of that VM). Can not continue. 
    at sun.jvm.hotspot.HotSpotTypeDataBase.lookupOrFail(HotSpotTypeDataBase.java:361) 
    at sun.jvm.hotspot.HotSpotTypeDataBase.readVMStructs(HotSpotTypeDataBase.java:252) 
    at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:87) 
    at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:568) 
    at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:494) 
    at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:332) 
    at sun.jvm.hotspot.tools.Tool.start(Tool.java:163) 
    at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77) 

Qualcuno sa come risolvere questo?

risposta

28

Stavo vedendo lo stesso errore perché il mio percorso per jmap non era lo stesso del percorso del processo java (cioè il targeting di due versioni diverse).

L'esecuzione di jmap con il percorso completo del mio JDK l'ha risolta.

+0

Grazie, ho incontrato lo stesso problema ed è stato perché ero utilizzando una versione JDK diverso lanciare jmap. – Scot

+2

Vedo questo errore, sebbene sia installato solo un JDK ed è lo stesso utilizzato dal processo. – jan

Problemi correlati