如何设置在VS 2012一类的所有方法断点。 类似的问题被张贴在How do I set a breakpoint on every access to a class 但解决方案不与VS2012工作
你可能会认为使用Debugger.Break的和要分析每一个方法注入它。
注射可以做:用手工,或像AOP
编程的一些机制。
您可以在类定义中定位插入符号,并调用以下命令(语言: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);
}
}
}
}