DebuggerStepThrough 属性 - 如何也跳过子方法

DebuggerStepThrough Attribute - How to also skip child Methods

我一直在使用 System.Diagnostics.DebuggerStepThrough 属性在 Visual Studio 调试器中工作时跳过代码。
但是,有时我希望它也跳过从我应用 DebuggerStepThrough 属性的方法中调用的任何方法。

有办法吗?
我不希望这影响我应用此属性的所有方法,但是有时我不希望 called/used 的任何代码为方法中调用的所有方法打开调试器我'已应用此属性。

static void main(string[] args)
{
    Method1();
}

[DebuggerStepThrough()]
private static void Method1()
{
    Method2(); 'The Debugger is stopping in Method2 when I am manually stepping through the code
}

private static void Method2()
{
    '... Code I don't care about however debugger is stopping here.
}

所以上面的代码示例是我 运行 的示例。
有没有办法让我告诉 Visual Studio 也跨过从 Method1() 中调用的方法?
目前,当我手动单步执行 Visual Studio 中的代码时,我发现我必须将 [DebuggerStepThrough()] 属性添加到所有被调用的方法中,即使它们是从在应用了属性的方法中。在此示例中,调试器在 Method2() 内停止。

我希望有一种方法可以让我不必将此属性应用于从 Parent 方法调用的所有方法。
也许我只是缺少一些简单的东西。

在单步执行时要跳过的方法中添加 DebuggerStepperBoundaryAttribute

在示例代码中,当执行停止在 Method1() 调用时,您单步执行代码,而不是在 [ 中结束=12=],代码会继续执行Console.WriteLine("Suddenly here")(当然Method1Method2中的代码都是运行):

static void main(string[] args)
{
    Method1();
    Console.WriteLine("Suddenly here");
}

[DebuggerStepThrough, DebuggerStepperBoundary]
private static void Method1()
{
    Method2();
}

private static void Method2()
{
    //Skipped
    Console.WriteLine("Skipped but still printing");
}