我可以将一个类标记为不是我的代码,以便调试器跳过它吗?

问题描述 投票:0回答:3

我有一个已经过彻底测试的实用程序类,并且我不希望 VS 调试器单步执行其任何方法。我想我听说过一种将某些内容标记为不是我的代码的方法,以便

Just My Code
调试器设置导致调试器跳过这些方法调用,但我一生都记不起类属性是什么(也记不起我在谷歌上成功找到了它)。

我知道我可以将此类分离到其自己的程序集中并以发布模式构建它以缓解该问题,但我想进入某些程序集(并且我想将此类保留在原来的位置)。

这可能吗,还是我想出这个选择?

更新

我使用两个选项(DebuggerStepThrough 和 DebuggerNonUserCode)进行了一些测试,我发现在启用/禁用

Just My Code
时,DebuggerNonUserCode 的行为与框架完全相同。
DebuggerStepThrough
属性始终会导致调试器跳过标有该属性的部分。为了保持一致性,我选择了 DebuggerNonUserCode。

c# .net class-attributes
3个回答
20
投票

您可以使用 DebuggerStepThrough 属性来跳过它。


13
投票

您正在寻找 DebuggerNonUserCode 属性。


1
投票

如果从名称来判断,

[DebuggerNonUserCode]
属性应该可以做到这一点,但事实并非如此。所以,接受的答案是错误的,或者至少它在 VS2017 中对我不起作用。

从它的名字来看,

[DebuggerStepThrough]
属性从来就不是为了做问题所要求的事情,而且它没有这样做也就不足为奇了。所以,20个赞成的答案也是错误的,或者至少它在VS2017中对我不起作用。

什么对我有用

... 是

[DebuggerHidden]
属性。 (learn.microsoft.com 上的文档

想想看。

© www.soinside.com 2019 - 2024. All rights reserved.