2009-10-14 8 views
2

J'ai un vidage de tas au format PHD à partir d'IBM jvm et je souhaite examiner les valeurs de certaines chaînes. Avec les dumps binaires hprof de la JVM Sun, cela est possible, mais je n'ai pas été capable de récupérer ces informations à partir d'un vidage IBM.Pouvez-vous extraire la valeur des chaînes à partir d'un vidage de tas java IBM PHD?

J'ai essayé:

  1. Eclipse Memory Analyzer (0.8.0.200906170940) avec Portal DTFJ IBM Heap Dump lecteur (1.3.0.200903241644)
  2. IBM Support Assistant (3.1.0.00) avec mémoire de vidage de diagnostic pour Java (2.0.0.3b)
  3. Running "chaînes" sur le fichier de vidage
  4. Conversion en décharge texte avec com.ibm.jvm.ras.findroots.PrintHeapdump de svcdump.jar trouvés dans MDD4J (2.0.0.3b

Dans l'analyseur de mémoire Eclipse, je peux voir le tableau char dans une chaîne, mais toutes les entrées dans le tableau sont nulles. Je ne peux pas non plus voir les attributs primitifs sur les objets.

indice IBM qu'ils ne stockent les valeurs des types primitifs à http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg21190476

Cela a été rendu possible en utilisant une classe Java DataOutputStream qui permet à la sortie de types de données Java primitives dans un format binaire portable.

J'utilise 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 

Répondre

2

http://www.java-doc.de/tag/ibm/

Le * .phd ne contient pas les valeurs. C'est un format "portable". Pour voir les valeurs, vous avez besoin d'un vidage complet du système qui produira un fichier beaucoup plus gros.

Questions connexes