Specifies the DebuggerStepThroughAttribute. This class cannot be inherited.
<SerializableAttribute> _ <ComVisibleAttribute(True)> _ <AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Constructor Or AttributeTargets.Method, Inherited := False)> _ Public NotInheritable Class DebuggerStepThroughAttribute _ Inherits Attribute
Dim instance As DebuggerStepThroughAttribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, Inherited = false)] public sealed class DebuggerStepThroughAttribute : Attribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method, Inherited = false)] public ref class DebuggerStepThroughAttribute sealed : public Attribute
public final class DebuggerStepThroughAttribute extends Attribute
The common language runtime attaches no semantics to this attribute. It is provided for use by source code debuggers. For example, the Visual Studio 2005 debugger does not stop in a method marked with this attribute but does allow a breakpoint to be set in the method.
For more information about using attributes, see Extending Metadata Using Attributes.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
It makes sense if it's a method that does something time-critical or something so annoyingly simple that stepping into it or stepping through it would be most annoying or troublesome, but you still don't want to give up the ability to debug it. As I understand this, you can't step into or through something with this attribute, but you can set a breakpoint which will be hit and pause execution (allowing you to examine variables and such). Not sure if Stepping from said breakpoint would be equivallent to stepping out of the routine or not. Might have to test that, but I never thought it mattered much. Personally, I don't think I'd set this attribute unless and until I'd thoroughly debugged whatever I was adding it to. YMMV.