设计监视变量(调试)窗口

问题描述 投票:0回答:4

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

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

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

如果所有属性和字段都自动扩展,则可以轻松解决太多点击问题 - 但这可能会导致另一个问题 - 太多的screan不动产仅用于显示一个变量。

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

我们的想法是能够在一瞥(或尽可能接近它)的情况下直观地掌握物体的状态。

user-interface debugging watch
4个回答
2
投票

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

Demo Object in WebKit's Web Inspector Console (来源:quintusquill.com

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

alt text (来源:quintusquill.com

最后,你考虑过包括一个搜索框吗?如果用户需要找到深埋在对象中的特定属性(并且他们知道其名称),这将非常有用。

史蒂夫


0
投票

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


0
投票

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

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

用户会看到

+ a : { prop2 : value2 }

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


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.