The problem is not the jdk. i tried with the newest 1.6.0_31 and 1.7.0_03. both does not work.
the problem is, that the jre delivered with Zend Studio is an older version:
- Code: Select all
.....\Zend\Zend Studio 9.0.2\jre\bin>java.exe -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)
then i tried to change the vm zend studio is startet in via the "-vm" option in zend studio ini, to use the newest jre.
in this case i had to execute jmap on javaw.exe process and not on ZendStudio.exe process.
at first it seem to work but then i get following error:
- Code: Select all
.....\Java\jdk1.6.0_31\bin>jmap.exe -F -dump:format=b,file=C:\h
eap1.bin 2996
Attaching to process ID 2996, please wait...
Debugger attached successfully.
Client compiler detected.
JVM version is 20.6-b01
Dumping heap to C:\heap1.bin ...
Finding object size using Printezis bits and skipping over...
Finding object size using Printezis bits and skipping over...
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(DelegatingMethodAcces
sorImpl.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: sun.jvm.hotspot.debugger.DebuggerException: Windbg Error: ReadVirtual
failed!
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readBytesFromProc
ess0(Native Method)
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readBytesFromProc
ess(WindbgDebuggerLocal.java:485)
at sun.jvm.hotspot.debugger.DebuggerBase$Fetcher.fetchPage(DebuggerBase.
java:76)
at sun.jvm.hotspot.debugger.PageCache.getPage(PageCache.java:178)
at sun.jvm.hotspot.debugger.PageCache.getInt(PageCache.java:96)
at sun.jvm.hotspot.debugger.DebuggerBase.readCInteger(DebuggerBase.java:
355)
at sun.jvm.hotspot.debugger.DebuggerBase.readAddressValue(DebuggerBase.j
ava:454)
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readOopHandle(Win
dbgDebuggerLocal.java:327)
at sun.jvm.hotspot.debugger.windbg.WindbgAddress.getOopHandleAt(WindbgAd
dress.java:117)
at sun.jvm.hotspot.oops.Oop.getKlassForOopHandle(Oop.java:237)
at sun.jvm.hotspot.oops.ObjectHeap.newOop(ObjectHeap.java:378)
at sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions(ObjectHeap.java:46
4)
at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:249)
at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write(AbstractHeapG
raphWriter.java:51)
at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter
.java:416)
at sun.jvm.hotspot.tools.HeapDumper.run(HeapDumper.java:56)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
... 6 more
the heap1.bin file was created.
any idea?