Ответ 1
Профилировщик позволит вам увидеть, какие объекты создаются во время выполнения. Это вывод JProfiler, например:
(источник: ej-technologies.com)
Я не уверен, насколько это было бы полезно, но я подумал, что может быть аккуратно визуализировать объекты, используемые в моей программе, и на какие объекты ссылаются откуда. Я предполагаю, что это сгенерирует некоторые данные, которые будут использоваться программой, такой как graphviz. Есть ли какие-либо инструменты, которые делают это, иначе как трудно было бы это сделать самому? В идеале это будет работать для любой произвольной программы, хотя в случае необходимости я могу внести некоторые изменения в код (например, добавить вызов dumpObjects() или что-то еще)
Мне интересно это сделать для java, но если есть решения для других языков, отправьте их тоже.
Профилировщик позволит вам увидеть, какие объекты создаются во время выполнения. Это вывод JProfiler, например:
(источник: ej-technologies.com)
Sun разработала VisualVM, который включает в себя память и профилирование процессов. Он также поддерживает плагины для таких технологий, как OSGi.
Интересным вариантом использования будет анализ и оптимизация памяти. Это как раз то, что Eclipse MAT. Проверьте это.
alt text http://dev.eclipse.org/blogs/memoryanalyzer/files/2008/05/dom_tree.gif
Для визуализации структур графа (включая графы объектов) существует множество инструментов на основе GraphViz: http://www.graphviz.org/
Существует Object Graph Visualizer, который отображает классы и объекты в 3D. На данный момент ему не хватает API для автоматизации инициализации, однако не следует слишком сложно добавлять эту функциональность. Исходный код также находится на Github.
Изменить: В этом направлении уже делается работа: https://eprints.hsr.ch/491/
Не уверен, что это то, к чему вы стремитесь, но Doxygen сделает в значительной степени все это.
он возьмет кучу скомпилированного кода и превратит его в перекрестную ссылку html, rtf из pdf. выполнено вызов дерева для каждой функции и "ссылка" для каждой переменной