I have a PHD format heap dump from an IBM jvm and I wish to examine the values of some strings. With the Sun JVM's binary hprof dumps this is possible, but I haven't been able to recover this information from an IBM dump.
I've tried:
- Eclipse Memory Analyzer (0.8.0.200906170940) with IBM's DTFJ Portal Heap Dump Reader (1.3.0.200903241644)
- IBM Support Assistant (3.1.0.00) with Memory Dump Diagnostic for Java (2.0.0.3b)
- Running "strings" over the dump file
- Converting to text dump with com.ibm.jvm.ras.findroots.PrintHeapdump from svcdump.jar found in mdd4j (2.0.0.3b)
In the Eclipse Memory Analyzer I can view the char array inside a String, but all the entries in the array are zero. I also can't see any of the primitive attributes on any objects.
IBM hint that they do store the values of primitive types at http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg21190476
This was made possible by using a Java DataOutputStream class which allows the output of Java primitive data types in a portable binary format.
I'm using Java 5.0:
2XHOSLEVEL OS Level : AIX 5.3 2XHCPUS Processors - 3XHCPUARCH Architecture : ppc64 3XHNUMCPUS How Many : 8 1CIJAVAVERSION J2RE 5.0 IBM J9 2.3 AIX ppc64-64 build j9vmap6423-20070426 1CIVMVERSION VM build 20070420_12448_BHdSMr