【问题标题】:How to set breakpoints to all lines in a c# file in visual studio?如何在 Visual Studio 中为 c# 文件中的所有行设置断点?
【发布时间】:2017-04-05 17:18:17
【问题描述】:

我正在使用 Visual Studio 2015。

我有一个很大的 c# 类文件,其中包含很多属性和方法。我想一次为所有可能的行(设置和获取属性、方法)设置断点。我该怎么做?

【问题讨论】:

  • 你知道分步调试吗?看起来很像您在这里尝试做的事情
  • 即使你能做到这一点,运行速度也会慢到没用。您最好将打印/跟踪语句放在所有地方并查看代码实际执行的位置(或单步),然后从那里开始工作。
  • 写一些单元测试而不是过度调试怎么样?
  • @srh,你能分享一下关于这个问题的最新信息吗?使用 F11 或自定义代码等默认调试方式或使用 VS2017 的新功能如何?
  • OP 的建议可以用作一种穷人的代码覆盖率。它非常有效,当您的调试会话结束时,您可以通过剩余的断点数量来判断哪些分支需要更多测试/调试。关于单元测试的刻薄的 cmets 是完全没有必要的

标签: c# visual-studio debugging visual-studio-2015 breakpoints


【解决方案1】:

您可以在每一行的末尾添加Debugger.Break()。因此你可以使用visual studio的搜索和替换功能,将\n替换为Debugger.Break()\n(记得激活正则表达式选项)。这将导致调试器在每一行都中断,即使您没有指定的断点。

我不认为有一种方法可以在每一行添加普通 vs 断点,因为它非常无用,考虑到您通常只是使用 F11 单步执行代码.

【讨论】:

    【解决方案2】:

    我想你正在寻找这个,

    要遵循的步骤:

    1) 在要调试的第一行代码处添加断点。

    2) 运行应用程序。

    3) 当你想运行下一行代码时,选择Debug |走进去

    4) 对每一行代码重复第 3 步

    【讨论】:

    • 或按 F10 或 F11
    • 当执行退出子/函数时?那它去哪儿了?
    【解决方案3】:

    使用 vim (vsvim),您可以设置断点,向下移动一行,然后根据需要重复多次,例如:

    {Escape}qq:vsc Debug.ToggleBreakpoint{Enter}jq100@q

    将在接下来的 100 行设置断点

    编辑:这里是示例视频,不允许我嵌入 gif https://imgur.com/SFhlEr7

    【讨论】:

    【解决方案4】:

    Step Into(F11) 或者使用 Debugger.Break() 或者直接添加断点都是适合你的解决方法,当然我建议你使用 Step Into(F11) 更方便。

    如果您可以使用最新的 VS2017 版本,它有一个新功能“运行到单击”,这也是您在调试过程中更好的解决方法。

    其实你不必调试每一行代码,这也是我建议你使用这个新特性的原因。

    运行到点击:只需在调试时单击一行代码旁边的图标即可运行到该行。不再设置临时断点或 执行几个步骤来执行你的代码并停止在你的行 想。现在,当在调试器下以中断状态停止时,运行 to Click 图标巧妙地出现在鼠标所在的代码行旁边 悬停在上方。现在将鼠标移到图标上并单击按钮 您的代码将在下一次被击中时在该行上运行和停止 你的代码路径。从调试>选项>启用运行将其关闭 点击。

    参考:

    https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      相关资源
      最近更新 更多