我不确定这有多大用处,但我认为可视化程序中使用的对象以及从何处引用哪些对象可能会很简洁。我猜它会生成一些数据供 graphviz 这样的程序使用。有没有任何工具可以做到这一点,否则我自己做这件事有多难?理想情况下,这适用于任何任意程序,但如果有必要,我可以对代码进行一些修改(例如添加 dumpObjects() 调用或其他)

我有兴趣为 Java 执行此操作,但如果有其他语言的解决方案,也请发布这些解决方案。

有帮助吗?

解决方案

探查器将允许您查看在运行时创建了哪些对象。例如,这是 JProfiler 的输出:

jprofiler heap walker
(来源: ej-technologies.com)

其他提示

Sun 开发了 视觉虚拟机 其中包括内存和进程分析。它还支持 OSGi 等技术的插件。

一个有趣的用例是内存分析和优化。这正是 Eclipse 垫 是关于。一探究竟。

替代文本http://dev.eclipse.org/blogs/memoryanalyzer/files/2008/05/dom_tree.gif

为了 可视化图形结构 (包括对象图),有很多基于GraphViz的工具: http://www.graphviz.org/

有的是 对象图可视化工具 它以 3D 方式显示类和对象。目前它缺少一个 API 来自动初始化,但是添加此功能应该不会太困难。源代码也上 吉图布.

编辑:显然已经在这个方向上开展了工作:https://eprints.hsr.ch/491/

OGV

不确定这是否是您的目标,但是 强力氧 几乎会做所有这些。

它将需要一堆编译代码并将其转换为交叉引用的 html、rtf 或 pdf。完成将为每个函数调用树并为每个变量“引用”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top