Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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
C# foreach调试太详细了_C#_Debugging_Visual Studio 2008 - Fatal编程技术网

C# foreach调试太详细了

C# foreach调试太详细了,c#,debugging,visual-studio-2008,C#,Debugging,Visual Studio 2008,首先为标题道歉,在简短的总结中描述这个问题有点困难 在VisualStudio2008中调试C#代码时,我注意到在foreach循环中按F10(单步执行)会导致调试器在foreach中的几乎每个关键字处停止。例如: foreach( int foo in fooList ) foreach(Item item in collection) { // <- Breakpoint here for the start of each iteration // Do some

首先为标题道歉,在简短的总结中描述这个问题有点困难

在VisualStudio2008中调试C#代码时,我注意到在
foreach
循环中按F10(单步执行)会导致调试器在
foreach
中的几乎每个关键字处停止。例如:

foreach( int foo in fooList )
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

如果我的断点设置为此行,按F10后,它将高亮显示
int foo
,然后F10再次高亮显示
dublist
,然后F10再次高亮显示
in
。最后,在按F10大约4次后,它会进入
foreach
中的第一行代码。这真的很烦人,我希望按下F10会跳过“代码”>一个镜头中的Furace行(就像它在调试C++循环时所做的那样)。有没有办法在VisualStudio中配置它,还是必须使用它-(

在foreach内部添加断点并使用F5

在foreach内部添加断点并使用F5

您可以向开始和结束大括号添加断点,这是我通常做的

例如:

foreach( int foo in fooList )
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
foreach(集合中的项目)

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

例如:

foreach( int foo in fooList )
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
foreach(集合中的项目)

{/以下是Visual Studio中的以下快捷键(默认值,如果需要可以更改):

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

这里有一个包含所有调试器快捷键代码的有用链接:

以下是Visual Studio中的以下快捷键(默认值,如果需要可以更改):

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

这里有一个关于所有调试器快捷方式代码的有用链接:

在循环体中设置一个断点,然后点击F5。顺便说一句,它在生成对
MoveNext()
Current
@SLaks的调用时停止。显然,我已经想到了第二个断点的想法,但更喜欢使用一个开关来禁用“detailed”foreach inspection!在循环体中设置一个断点,然后点击F5。顺便说一句,它在生成对
MoveNext()
Current
@SLaks的调用时停止。很明显,我已经想到了第二个断点的想法,但更愿意使用一个切换来禁用“detailed”foreach inspection!询问者正在调试选项中寻找一个设置,以更改调试器在循环中的移动方式,而不是调试器键盘快捷键列表。询问者不了解调试工具,因此我给出了一个快速列表,以便他们知道按F5可以做什么,按F10可以做什么,之前他们做了什么,是ac实际操作。询问者在调试选项中寻找一个设置,以更改调试器在循环中的移动方式,而不是调试器键盘快捷键列表。询问者不了解调试工具,因此我给出了一个快速列表,以便他们知道按F5键对他们有什么作用,按F10键对他们有什么作用,他们以前所做的事情实际上是什么正在做。将此标记为答案,因为它非常详细。我喜欢将断点放在开始大括号上的想法。谢谢!!将此标记为答案,因为它非常详细。我喜欢将断点放在开始大括号上的想法。谢谢!!