foreach调试过于详细

时间:2013-12-26 15:32:03

标签: c# debugging visual-studio-2008

首先为标题道歉,在简短摘要中描述问题有点困难。

在Visual Studio 2008中调试C#代码时,我注意到在foreach循环时按F10(跳过)会导致调试器只停在foreach内的几乎每个关键字处。例如:

foreach( int foo in fooList )

如果我的断点设置为此行,并且在按F10后突出显示int foo,则F10再次突出显示fooList,然后F10再次突出显示in。最后按下F10大约4次后,它将步入foreach内的第一行代码。这真的很烦人,我希望按下F10会一次跳过foreach行(就像调试C ++ for循环时一样)。有没有办法在Visual Studio中配置它,还是我必须忍受它? : - (

3 个答案:

答案 0 :(得分:3)

在foreach中添加断点并使用F5

答案 1 :(得分:2)

您可以在开始和结束括号中添加断点,这就是我通常所做的。

例如:

foreach(Item item in collection)
{    // <- Breakpoint here for the start of each iteration

     // Do some work here.

}    // <- Breakpoint here for the end of each iteration

此外,使用F5继续执行直到下一个断点。 F10只会执行一条“指令”。

答案 2 :(得分:1)

以下是Visual Studio中的以下快捷键(默认情况下可以更改):

  • F11 - Step Into - 在执行函数调用(Step Into)后,一次执行一条语句。
  • F10 - 跳过 - 执行下一行代码但不通过任何函数调用执行(跳过)。
  • Shift + F11 - Step Out - 执行当前执行点所在的函数的剩余行(Step Out)。
  • F5 - 继续 - 运行应用程序。如果您有任何其他断点,应用程序将自然停止。因此,如果此断点位于foreach循环中,则每次执行该循环时都会停止。

以下是所有调试程序快捷键代码的有用链接:Shortcut Codes