Условные точки останова в стеке вызовов - PullRequest
15 голосов
/ 04 апреля 2011

Можно ли указать точку останова в Visual Studio 2010, которая срабатывает только в том случае, если вызывающие методы в стеке вызовов удовлетворяют какому-то конкретному условию?Например, и, скорее всего, имя метода.

В идеале я ищу решение в самой Visual Studio, такое как условная точка останова, но я остановлюсь на тестировании имен методов в стеке и наличиикодированная точка останова.

То, чего я пытаюсь добиться, это отключить вызовы от определенного абонента.

Ответы [ 2 ]

18 голосов
/ 04 апреля 2011

Щелкните правой кнопкой мыши точку останова, выберите «Условие» и используйте что-то вроде этого:

new System.Diagnostics.StackTrace().ToString().Contains("YourMethodName")
4 голосов
/ 04 апреля 2011

Класс StackTrace должен дать вам то, что вам нужно.

StackTrace stackTrace = new StackTrace();           
StackFrame[] stackFrames = stackTrace.GetFrames(); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...