我有两个庞大的数据结构导致我的VB.NET应用程序出现问题。抛出异常并且应用程序暂停后,我想运行一些代码:
For Each o As MyClass In myObjects
If o.property = "value" Then debug.print(o.id)
Next
诊断问题。
问题是即时窗口不会让我执行循环,而myObjects
集合包含太多的对象,我无法手动找到我想要的有问题的对象。
如何在调试器暂停时找到此对象?在.NET IDE中是否可以使用这个或类似的东西?
答案 0 :(得分:6)
您应该可以使用IDE中的立即模式窗口来执行这样的命令,但数据必须在调试器的当前范围内可用。
答案 1 :(得分:2)
不,您不能直接从IDE执行此操作。不幸的是,解决它的最简单方法是停止调试,在一个返回你正在寻找的对象的公共静态方法中编写循环,重新编译并运行,然后从Immediate或Watch窗口调用该公共静态方法
另一个更直接(但令人讨厌)的技巧是在立即窗口中写入“? myObjects
”,将结果复制粘贴到记事本中,并在记事本中使用文本搜索(Ctrl + F)来查找对象。 / p>