如何设置断点都在一个班VS 2012的方法

问题描述 投票:1回答:2

如何设置在VS 2012一类的所有方法断点。 类似的问题被张贴在How do I set a breakpoint on every access to a class 但解决方案不与VS2012工作

c# visual-studio visual-studio-2012 breakpoints visual-studio-debugging
2个回答
0
投票

你可能会认为使用Debugger.Break的和要分析每一个方法注入它。

注射可以做:用手工,或像AOP编程的一些机制。


0
投票

您可以在类定义中定位插入符号,并调用以下命令(语言:C#)为Visual Commander设置断点上所有的方法:

using EnvDTE;
using EnvDTE80;

public class C : VisualCommanderExt.ICommand
{
    public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
    {
        EnvDTE.TextSelection ts = DTE.ActiveWindow.Selection as EnvDTE.TextSelection;
        if (ts == null)
            return;

        EnvDTE.CodeClass c = ts.ActivePoint.CodeElement[vsCMElement.vsCMElementClass]
                    as EnvDTE.CodeClass;
        if (c == null)
            return;

        foreach(EnvDTE.CodeElement e in c.Members)
        {
            if(e.Kind== vsCMElement.vsCMElementFunction)
            {
                EnvDTE.TextPoint p = (e as EnvDTE.CodeFunction).GetStartPoint();
                DTE.Debugger.Breakpoints.Add("", p.Parent.Parent.FullName, p.Line);
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.