4

我有几个在我的 VB.NET 应用程序中引起问题的海量数据结构。在引发异常并且应用程序暂停后,我想运行一些代码,例如:

For Each o As MyClass In myObjects
  If o.property = "value" Then debug.print(o.id)
Next

诊断问题。

问题是即时窗口不允许我执行循环,并且myObjects集合包含太多对象,我无法手动找到我想要的违规对象。

调试器暂停时如何找到此对象?在 .NET IDE 中是否可以这样做或类似的东西?

4

2 回答 2

6

您应该能够使用 IDE 中的即时模式窗口来执行类似的命令,但数据必须在调试器的当前范围内可用。

于 2011-04-30T07:52:42.227 回答
2

不,您不能直接从 IDE 执行此操作。不幸的是,解决它的最简单方法是停止调试,将循环写入一个公共静态方法中,该方法返回您正在查找的对象,重新编译并运行,然后从立即或监视窗口调用该公共静态方法.

另一个更直接(但令人讨厌)的技巧是在“立即”窗口中写入“ ? myObjects”,将结果复制粘贴到记事本中,然后在记事本中使用文本搜索 (Ctrl+F) 来查找您的对象。

于 2011-04-30T08:07:49.163 回答