在 Visual Studio 调试模式下跳过 while 循环

问题描述 投票:0回答:7

场景如下:
我在要调试的方法的开头放置了一个断点...

  • 首先,假设我想调试(单步调试)代码的第一部分。
  • 然后,有一个 while 循环,我对调试不感兴趣(所以让我们跳到 while 循环后面的代码)。

是否可以使用调试选项跳到 while 循环之后的代码?

我想做这样的事情:

BreakPoint: MyMethod() { # First part of the code: Yes, I want to debug it. # while-loop: No, I do not want to debug it. # Second part of the code: Yes, I want to debug it too. }
    
c# visual-studio debugging
7个回答
21
投票
右键单击要运行到的代码行,然后单击“运行到光标”,或者您可以在循环后设置第二个断点并直接运行。

编辑:您在这里问了两个问题。上面的方法将让您跳过整个循环,无论它经历了多少次迭代。如果您只想执行循环体 10 次,请在循环的最后一条语句上添加断点,右键单击该行,单击“断点”,然后单击“命中计数”,然后“当命中计数等于时中断” ”并在出现的框中输入 10。这将在循环执行 10 次后暂停程序(您必须手动重新定位当前语句),但如果循环执行少于 10 次,则不会中断(按照我上面的建议在循环后添加一个额外的断点)。


3
投票
您可以在

while

 循环之前和之后放置断点。

在之前的点,按

F5

 “继续”到下一个断点。


3
投票
不完全是(例如,执行循环 10 次),但您可能能够得到一些

非常接近您想要的行为。查看这些 MSDN 链接:

http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepthroughattribute.aspx http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepperboundaryattribute.aspx http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerstepthroughattribute.aspx

希望有帮助!


1
投票
只需在第二部分放置一个断点即可。调试完第 1 部分后,点击 run/f-5,VS 将运行到下一个断点。


1
投票
在循环后添加一个断点,并让它继续到该断点。


1
投票
不,我不相信你可以做你所描述的事情,你唯一的选择是其他海报所描述的,但这会很酷:(


1
投票

C# 预处理器指令

BreakPoint : MyMethod { Part One of the code : Ok, lets debug it #if !DEBUG While Loop : I do not care, Do not want to debug it #endif Part Two of the code: Yes, I want to debug it too }
    
© www.soinside.com 2019 - 2024. All rights reserved.