Article précédent : IcedTea 1.4 : Java libre ! Article suivant : Phone and Phone vend un iPhone à 379€

Débuggez sans IDE avec le JDK 1.6

Dans ma chasse aux fuites de mémoire dans mon appli Swing, je viens de découvrir deux outils très sympathiques livrés avec le JDK 1.6 :

  • jmap permet de faire un dump du tas (heap) d’un processus java en JRE 1.6
  • jhat permet de lancer un serveur web permettant d’exploiter un fichier de dump

Exemple :

  • jmap -dump:format=b,file=heap.bin 2265 dumpe le tas du processus d’ID 2265 dans le fichier
    heap.bin
  • jhat heap.bin lance un serveur Web sur le port 7000 qui permet de visualiser le contenu du tas.

On peut ensuite avec son browser favori aller sur http://localhost:7000 et explorer toutes les instances, leurs références, par qui elles sont référencées (très utile pour la chasse aux memory leaks). On peut aussi spécifier à jhat 2 fichiers de dump et voir quelles instances ont été créées entre les 2 snapshots, …

En résumé, 2 petits outils bien pratiques lorsqu’on ne veut pas se lancer dans un outil de profiling comme Eclipse TPTP, JProbe ou autre. L’avantage étant qu’on peut les utiliser sur un poste utilisateur ou sur un serveur.

Vous avez aimé cet article ? Vous aimerez sûrement aussi...

Laissez votre avis !

WP Theme & Icons by N.Design Studio
RSS principal RSS des commentaires Connexion