Существуют ли какие-либо инструменты для визуализации объектов, используемых в программе? - PullRequest
12 голосов
/ 01 декабря 2009

Я не уверен, насколько это было бы полезно, но я подумал, что было бы неплохо визуализировать объекты, используемые в моей программе, и на какие объекты ссылаются откуда. Я предполагаю, что это сгенерирует некоторые данные, которые будут использоваться такой программой, как graphviz. Есть ли инструменты, которые делают это, иначе как трудно было бы сделать это самому? В идеале это будет работать для любой произвольной программы, хотя при необходимости я мог бы внести некоторые изменения в код (например, добавить вызов dumpObjects () или любой другой)

Я заинтересован в том, чтобы сделать это для Java, но если есть решения для других языков, пожалуйста, опубликуйте их тоже.

Ответы [ 6 ]

9 голосов
/ 01 декабря 2009

Профилировщик позволит вам видеть, какие объекты создаются во время выполнения. Это вывод JProfiler, например:

jprofiler heap walker
(источник: ej-technologies.com )

2 голосов
/ 01 декабря 2009

Sun разработала VisualVM , которая включает в себя память и профилирование процесса. Он также поддерживает плагины для таких технологий, как OSGi.

1 голос
/ 08 марта 2016

Существует Визуализатор графов объектов , который отображает классы и объекты в 3D. На данный момент в нем отсутствует API для автоматизации инициализации, однако добавить эту функцию не должно быть слишком сложно. Исходный код также на Github .

Редактировать: В этом направлении уже ведется работа, очевидно: https://eprints.hsr.ch/491/

OGV

1 голос
/ 03 декабря 2009

Для визуализации структур графов (включая графы объектов) существует множество инструментов на основе GraphViz: http://www.graphviz.org/

1 голос
/ 01 декабря 2009

Интересным вариантом использования будет анализ и оптимизация памяти. Это именно то, о чем Eclipse MAT . Проверьте это.

альтернативный текст http://dev.eclipse.org/blogs/memoryanalyzer/files/2008/05/dom_tree.gif

0 голосов
/ 01 декабря 2009

не уверен, что это то, к чему вы стремитесь, но doxygen сделает почти все это.

он возьмет кучу компилируемого кода и превратит его в перекрестный html, rtf из pdf. завершено вызов дерева для каждой функции и «ссылка на» для каждой переменной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...