如何在 VS 2012 中的类中的所有方法上设置断点。
类似的问题发布在How do I set a breakpoint on each access to a class
但解决方案不适用于 VS2012
问问题
1417 次
2 回答
0
您可能会考虑使用Debugger.Break并将其注入您要分析的每个方法中。
注入可以通过手工完成,也可以通过AOP
编程等机制完成。
于 2013-06-27T09:54:43.500 回答
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);
}
}
}
}
于 2019-02-05T16:41:39.197 回答