Existe-t-il des outils permettant de visualiser les objets utilisés dans un programme?

StackOverflow https://stackoverflow.com/questions/1824261

  •  22-07-2019
  •  | 
  •  

Question

Je ne sais pas à quel point cela pourrait être utile, mais j’ai pensé qu’il serait peut-être intéressant de visualiser les objets utilisés dans mon programme et les objets référencés à partir de quel endroit. Je suppose que cela générerait des données qui seraient utilisées par un programme tel que graphviz. Existe-t-il des outils permettant de faire cela, sinon serait-il difficile de le faire moi-même? Idéalement, cela fonctionnerait pour n’importe quel programme arbitraire, bien que si nécessaire je pourrais apporter quelques modifications au code (pour ajouter un appel à dumpObjects () ou autre)

Je suis intéressé par cette option pour Java, mais s'il existe des solutions pour d'autres langues, signalez-les également.

Était-ce utile?

La solution

Un profileur vous permettrait de voir quels objets sont créés au moment de l'exécution. Voici le résultat de JProfiler, par exemple:

 jprofiler heap walker
(source: ej-technologies.com )

Autres conseils

Sun a développé le VisualVM , qui inclut le profilage de la mémoire et des processus. Il prend également en charge des plugins pour des technologies telles que OSGi.

Un exemple intéressant d’utilisation serait l’analyse et l’optimisation de la mémoire. C’est précisément ce qui concerne Eclipse MAT . Découvrez-le.

texte alt http://dev.eclipse.org /blogs/memoryanalyzer/files/2008/05/dom_tree.gif

Pour visualiser les structures de graphes (y compris les graphes d'objets), il existe de nombreux outils basés sur GraphViz: http://www.graphviz.org/

Il existe le Visualiseur de graphe d'objet qui affiche les classes et les objets en 3D. Pour l'instant, il manque une API pour automatiser l'initialisation, mais il ne devrait pas être trop difficile d'ajouter cette fonctionnalité. Code source également sur Github .

Edit: Il y a déjà du travail en cours dans cette direction apparemment: https://eprints.hsr.ch/491/

 OGV

ne savez pas si c'est ce que vous visez, mais doxygen fera à peu près tout cela. .

cela prendra un tas de code de compilation et le transformera en html, RTF de pdf. terminé appelant arbre pour chaque fonction et " référencé par " pour chaque variable

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top