2010-02-12 87 views
5

我有一个实例变量,包含多个成员,其中许多成员都有自己的成员等等。使用调试器和监视变量,我发现了一个字符串变量,其中包含一个特定值,我需要通过深入该变量的成员。在VS2008中查找具有给定值的变量

但是,花了一些时间在其他事情上,并回到这个,我现在无法找到这个值的位置。当我暂停了我的应用程序时,有没有办法在当前上下文中查找给定值的变量值?

为了澄清,如果我有给定结构:

myVariable 
| 
|--aMember1 
| |--subMember = "A value" 
| 
|--aMember2 
    |--subMember = "Another value" 

有没有一种方法(可能使用与调试的观察列表)来搜索myVariable任何成员或亚段值为“值” ,回到我的路径myVariable->aMember->subMember

回答

2

在Visual Studio 2008(或任何其他版本)中不存在此功能。

您可以做的是在第一次找到该值时添加一个ID值。只需右键单击该值并选择“创建对象ID”。这将创建一个唯一标识,显示在1#等值中。然后,您可以在将来的任何时间点将此值输入到观察窗口中,然后获取该值。

+0

是否为值本身或对象引用的身份?也就是说,如果我在创建对象ID后在我的监视列表中键入'1#',1#的值是否会随着我获得的变量而变化,还是会保持不变? – Aaron 2010-02-12 17:15:00

+0

没关系,我自己找到答案:http://geekswithblogs.net/sdorman/archive/2009/02/14/visual-studio-2008-debugging-ndash-the-watch-window.aspx 谢谢你的回答。 – Aaron 2010-02-12 17:27:44

1

您可以使用BugAid(Visual Studio的附加组件),该组件允许您为想要在悬停数据提示或QuickWatch窗口中查看的成员提供search

见例如在下面的截图:

Search Feature

如果您在BugAid的快速监视窗口中的变量点击(或右键单击并 选择“添加到关注”),它会告诉你该成员的完整路径(如myVariable.aMember.subMember)。

完全披露:我是“BugAid”的共同创始人。

相关问题