Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当程序在.NET IDE中暂停时,是否可以执行此调试代码?_.net_Visual Studio 2010_Debugging_Ide_Visual Studio Debugging - Fatal编程技术网

当程序在.NET IDE中暂停时,是否可以执行此调试代码?

当程序在.NET IDE中暂停时,是否可以执行此调试代码?,.net,visual-studio-2010,debugging,ide,visual-studio-debugging,.net,Visual Studio 2010,Debugging,Ide,Visual Studio Debugging,我的VB.NET应用程序中有两个导致问题的海量数据结构。抛出异常并暂停应用程序后,我想运行一些代码,如: For Each o As MyClass In myObjects If o.property = "value" Then debug.print(o.id) Next 诊断问题 问题是即时窗口不允许我执行循环,而myObjects集合包含的对象太多,我无法手动找到需要的对象 调试器暂停时,如何找到此对象?在.NET IDE中是否可能出现这种情况或类似情况?您应该能够使用IDE中的

我的VB.NET应用程序中有两个导致问题的海量数据结构。抛出异常并暂停应用程序后,我想运行一些代码,如:

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

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


调试器暂停时,如何找到此对象?在.NET IDE中是否可能出现这种情况或类似情况?

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

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


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

您不能在即时窗口中运行循环。如果是,但是你可以使用.ForEach和调用一个action方法来打印每一项。这在MyObject的字典中是可能的吗?是的,这是真的@安德鲁:我相信这里提到的ForEach方法就是在这篇文章的第二个答案中出现的方法。您可以在字典上使用它,但是您的操作方法应该会收到一个KeyValuePair(IDictionary(Of TKey,TValue)是一个IEnumerable(Of KeyValuePair,Of TKey,TValue))。当然,您仍然必须停止运行并重新编译才能添加该方法。@Omer Raviv-如果您正在进行32位开发,那么您可以使用“编辑”继续添加该方法,而不停止调试。谢谢。有没有办法获取
?MyObject
以提供100多条记录?此外,所涉及的集合是一本字典,它包含另一个类的th值,它将作为
MyApp.MyClass
出现,没有任何相关信息-有解决方法吗?第一个问题-我不知道,对不起。你也可以将粘贴从手表窗口复制到记事本中。第二个问题-是的,你应该放一个[DebuggerDisplay(“ID:{ID}”)]有关MyClass的详细信息,请参阅