簡體   English   中英

C#:如何從堆棧跟蹤中隱藏方法?

[英]C#: how to hide a method from the stack trace?

我有一個簡單的單線方法,我不想在堆棧跟蹤中看到:這可能嗎? 也許用屬性標記它?

只是為了澄清,我不打算在調試器中打印跟蹤,重新拋出或自動步進。 我希望方法首先不顯示在跟蹤中,因為跟蹤由一些第三方代碼處理。 我想在運行時控制,我對調試不感興趣。 我這樣說是因為我在StackTrace上閱讀的大部分內容似乎都是關於這些主題的。

只有在內聯方法時才能執行此操作。 要么JIT做到了,要么你自己做(改變代碼)。 然而,JIT對於內聯方法非常保守,實際上只在方法非常小時或者在循環中使用該方法時才這樣做。

正如在回答其他問題最有用的屬性時所說,您需要為您的方法指定System.Diagnostics.DebuggerHidden屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM