c# - 禁用/删除子断点?

标签 c# .net visual-studio breakpoints visual-studio-debugging

我正在 Visual Studio 中使用 C# 调试 ASP.NET 网站。当我设置断点时(在调试期间),随着时间的推移,创建的断点将累积许多子断点。 (参见 here 。)
现在,有时当我通过单击红色字形删除断点时,下一次执行该行时仍会命中断点,因为子断点仍然存在。

在断点窗口中删除断点将解决问题,但是当你设置了很多断点时找到正确的断点是很烦人的。此外,删除具有许多子级的断点是一个非常缓慢的操作。

那么问题来了,我可以禁用这个子断点的创建,还是有办法快速删除所有子断点?
替代解决方案表示赞赏!


请注意,这不是这个的副本:Question on how to remove a Visual Studio Breakpoint ,因为我在问如何处理子断点。 (尽管我们的预期目标是相同的。)

最佳答案

下面的代码可以作为一个宏来移除所有的子断点。

Sub RemoveChildBreakpoints()
    Dim i As Integer
    Dim len As Integer
    Dim debugger As EnvDTE.Debugger = DTE.Debugger
    Dim children As EnvDTE.Breakpoints
    For Each bp As EnvDTE.Breakpoint In debugger.Breakpoints
        children = bp.Children
        len = children.Count
        For i = len To 1 Step -1
            children.Item(i).Delete()
        Next
    Next
End Sub

如果你有很多断点,它仍然非常慢,所以如果你遇到子断点问题,最好定期运行它。

关于c# - 禁用/删除子断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7993568/

相关文章:

c# - 在 .NET 图表的 X 轴中仅使用自定义标签

c# - 使用 ibm-watson 服务 C# 的语音转文本

asp.net - 在 .NET 项目中的何处复制引用的程序集?

asp.net-mvc - ASP.NET MVC : How can I add views, 脚本和内容文件作为链接以便跨项目共享? (通过 VS 中的 "Add as Link")

c# - 如何使用ICommand在MVVM中触发KeyUp事件

c# - 添加更多参数然后在查询中使用?

.net - 将敏感信息放入 Web.config 文件中是一种不好的做法吗?

.net - C# List<string> "contains"问题

c# - 如何在 Debug模式下运行另一个进程?

.net - 什么时候应该更喜欢 ReBuild 而不是 Build?