0

我已经实现了一种脚本语言,它支持.NET 对象的创建和使用。

为了便于使用,我想实现一个用户界面来查找内存中的变量。

我在 Visual Studio 和 Eclipse 中检查了调试/监视变量窗口,它们似乎都使用相同的模式 - 变量<->属性关系的树视图表示,这很好,但需要大量“扩展节点”点击查找特定属性或字段的值。

如果所有属性和字段都自动展开,则可以轻松解决点击次数过多的问题——但这可能会导致另一个问题——过多的屏幕空间仅用于显示一个变量。

除了我已经见过的(Visual Studio、Eclipse)之外,您能否推荐任何好的(或不寻常的)调试/视图/变量监视 UI 实现。

这个想法是能够在视觉上掌握对象的状态,只需一眼(或尽可能靠近它)。

4

4 回答 4

2

这可能与您在 Visual Studio/Eclipse 中的类似,但最新版本的WebKit(和Safari 4)有一种在 Web Inspector 的控制台窗格中查看 JavaScript 对象的好方法:

WebKit 的 Web Inspector 控制台中的演示对象
(来源:quintusquill.com

此外, Dashcode调试器中的“Stackframes & Variables”面板非常易于使用:

替代文字
(来源:quintusquill.com

最后,您是否考虑过包括一个搜索框?如果用户需要找到隐藏在对象深处的特定属性(并且他们知道它的名称),这将非常有用。

史蒂夫

于 2009-04-08T11:13:43.737 回答
0

我完全同意——树视图一定是世界上使用最错误的 GUI 控件。不幸的是,我不知道有任何调试器做得更好:-(

于 2009-04-08T11:18:04.663 回答
0

您可以使这项工作类似于在调试模式下将鼠标悬停在 Visual Studio 编辑器中的实时变量上时发生的情况:您将获得一个工具提示,显示该对象的所有属性的名称和值,以及将鼠标悬停在该列表还可以为这些对象的详细信息提供额外的弹出窗口。通过这种方式,您只需移动鼠标即可向下钻取并获得所需的内容。能够将这些视图中的任何一个锁定到您的监视窗口中也将是一个好处。希望这可以帮助!

于 2009-04-06T04:54:58.687 回答
0

一种预览可以提供帮助,当一个对象被展开时,用户可以检查哪些属性是有趣的

- a
  [ ] prop1 : value1
  [*] prop2 : value2
  [ ] prop3 : value3

用户将看到

+ a : { prop2 : value2 }

您可以让用户在类的基础上自定义哪些属性是有趣的。

于 2009-04-06T05:25:55.417 回答