c# - 每当输入文件(或类)时中断

标签 c# visual-studio debugging

在 Visual Studio 中,是否有任何方法可以让调试器在输入特定文件(或类)时中断?请不要回答“只是在每个方法的开头设置一个断点”:)

我正在使用 C#。

最佳答案

宏可以成为您的 friend 。这是一个宏,它将为当前类中的每个方法添加一个断点(在运行它之前将光标放在类中的某个位置)。

Public Module ClassBreak
    Public Sub BreakOnAnyMember()
        Dim debugger As EnvDTE.Debugger = DTE.Debugger
        Dim sel As EnvDTE.TextSelection = DTE.ActiveDocument.Selection
        Dim editPoint As EnvDTE.EditPoint = sel.ActivePoint.CreateEditPoint()
        Dim classElem As EnvDTE.CodeElement = editPoint.CodeElement(vsCMElement.vsCMElementClass)

        If Not classElem Is Nothing Then
            For Each member As EnvDTE.CodeElement In classElem.Children
                If member.Kind = vsCMElement.vsCMElementFunction Then
                    debugger.Breakpoints.Add(member.FullName)
                End If
            Next
        End If
    End Sub

End Module

编辑:更新为按函数名称而不是文件/行号添加断点。它“感觉”更好,并且在断点窗口中更容易识别。

关于c# - 每当输入文件(或类)时中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250576/

相关文章:

c++ - 不存在从到 * 的合适转换

c++ - Visual Studio 2012混合模式调试

c# - 为什么返回 List<T> 的方法不能实现返回 IEnumerable<T> 的方法?

c# - 如何查看邮件是否发送成功?

c# - 从 Windows 上的 C# 迁移到 Mac 上的 Objective-C

c++ - 在 OpenCV 中读取

c# - UpdatePanel 不进行部分页面更新,并且 IsInAsyncPostBack 始终为 false

c# - 与 Sqlexpress 连接

xml - 调试xslt的工具

linux - 能不能在Windows上调试默认SDK Android模拟器的goldfish kernel 3.4? (即通过断点)