避免在c#中为一段代码调试和调用堆栈

Jor*_*oba 4 c# compiler-directives visual-studio-2008

在Delphi中,编译器指令{$ d-}和{$ l-}允许您有效地避免为定义的代码段生成调试和局部变量信息.

在实际的问题中,它具有从调试视图中"隐藏"代码的效果,它不会出现在调用堆栈中,并且在调试时不会进入它.

有没有办法在使用VS 2008的c#中实现相同的结果?

注意:原因是我们有一个稳定的框架,不需要调试,但往往会搞乱调用堆栈和标准调试流程.

csh*_*net 6

我使用DebuggerNonUserCodeAttribute,这样你默认不会破坏或进入代码; 但是,对DebuggerStepThrough的好处是,您可以转到Options-> Debugger-> Just My Code设置,并允许打破/调试您标记的代码.如果您遇到问题,这会有很大帮助.我通常在整个课程上使用它.

顺便说一句,调用堆栈会自动隐藏用这个属性标记的非用户代码:)当然你只需右键单击调用堆栈窗口并切换"显示外部代码"以隐藏/显示丢失的堆栈信息.