C#:如何从堆栈跟踪中隐藏方法?

时间:2010-04-21 09:32:50

标签: c# attributes stack-trace

我有一个简单的单行方法,我不希望在堆栈跟踪中看到:这可能吗?也许用属性标记它?

为了澄清一点,我不打算在调试器中打印跟踪,重新抛出或自动步进。我希望方法首先不显示在跟踪中,因为跟踪由一些第三方代码处理。我想在运行时控制,我对调试不感兴趣。 我这样说是因为我在StackTrace上阅读的大部分内容似乎都是关于这些主题的。

2 个答案:

答案 0 :(得分:2)

只有在内联方法时才能执行此操作。要么JIT做到了,要么你自己做(改变代码)。然而,JIT对于内联方法非常保守,实际上只有当方法非常小时,或者在循环中使用方法时才会这样做。

答案 1 :(得分:0)

正如在回答其他问题Most Useful Attributes时所述,您需要为您的方法指定System.Diagnostics.DebuggerHidden属性。