C #: как скрыть метод от трассировки стека? - PullRequest
5 голосов
/ 21 апреля 2010

У меня мертвый простой однострочный метод, который я не хочу видеть в трассировке стека: возможно ли это? может пометить его атрибутом?

Просто, чтобы уточнить, я не пытаюсь распечатать трассировку, или перебросить, или не имею автоматического пошагового перехода в отладчике. Я бы хотел, чтобы метод не отображался в трассировке, потому что трассировка затем обрабатывается каким-либо сторонним кодом. Я хочу контроль во время выполнения, я не заинтересован в отладке. Я говорю это потому, что большая часть того, что я читал на StackTrace, похоже, посвящена этим темам.

Ответы [ 2 ]

2 голосов
/ 21 апреля 2010

Это можно сделать только тогда, когда ваш метод встроен. Либо JIT делает это, либо вы делаете это сами (измените код). Однако JIT довольно консервативен в отношении методов встраивания и практически делает это только тогда, когда метод очень мал или когда метод используется в цикле.

0 голосов
/ 12 мая 2014

Как сказано в ответе на другой вопрос Самые полезные атрибуты , вам необходимо указать атрибут System.Diagnostics.DebuggerHidden для вашего метода.

...