禁用DebuggerStepThrough部分类

问题描述:

我有一组由工具自动生成的类。但所有类都标有DebuggerStepThrough属性禁用DebuggerStepThrough部分类

这些类是部分的,所以我可以在单独的文件中为该类编写我的代码,但DebuggerStepThrough在部分类的自动生成部分中将影响整个类。

如何禁用DebuggerStepThrough这种行为,删除DebuggerStepThrough是显而易见的解决方案,但这不是我正在寻找的答案。我不想触摸自动生成的代码。也跳过自动生成的代码是好的,但我想能够调试我自己的代码。

[DebuggerStepThrough] 
partial class Foo 
{ 
    // auto generated 
} 

// how to exclude this part from DebuggerStepThrough? 
partial class Foo 
{ 
    // user code 
} 
+0

在Visual Studio中,进入工具 - 选项,滚动到调试/一般和取消选中启用仅我的代码。 – 4D1C70

你所要求做的是不可能的,因为据我所知。部分类属性在编译时被合并。所以,你的两个部分类:

[DebuggerStepThrough] 
partial class Foo 
{ 
    // auto generated 
} 

partial class Foo 
{ 
    // user code 
} 

编译这样:

[DebuggerStepThrough] 
class Foo 
{ 
    // auto generated 

    // user code 
} 
+0

我猜,GitHub是下一个要求解决它的地方。 https://github.com/dotnet/csharplang/issues –