Как установить точку останова при каждом доступе к классу - PullRequest
18 голосов
/ 25 августа 2010

При работе со сторонними системами, особенно с очень настраиваемыми системами, которые динамически загружают провайдеров, контроллеры, компоненты и т. Д., Я иногда просто хочу знать, когда осуществляется доступ к определенному объекту или классу.Обычно я ставлю точку останова на любые потенциальные строки в моем источнике (неприятность, но это работает), но если источник недоступен:

Как я могу дать Visual Studio 2010 Ultimate команду прерывать любое икаждый доступ к данному классу?

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

Ответы [ 4 ]

13 голосов
/ 20 июня 2014

Не самый элегантный, но если вы Ctrl + F public, то вы можете спамить между F9 [установить точку останова] и F3 [найти далее], чтобы установить точку останова на каждой общедоступной точке входа в класс.

Возможно, вы также захотите добавить точки останова для protected и internal точек входа и любых явных реализаций интерфейса (объявлений, которые не имеют public)

8 голосов
/ 25 августа 2010

Вы можете нажать Отладка> Новая точка останова> Точка останова в функции . Ctrl-B доставит вас туда напрямую. Это позволит вам сломать определенную функцию.

Во время отладки вы можете видеть в окне Точки останова, найден ли метод и будет ли он нажат (красный круглый значок) или нет (белый со значком круга, как с отключенной точкой останова), так же, как с обычными точками останова. *

1 голос
/ 04 августа 2011

Я только что сделал надстройку Visual Studio 2010 для этого.Проверьте это: http://weblogs.asp.net/uruit/archive/2011/08/04/visual-studio-2010-addin-setting-a-class-breakpoint.aspx

Обновление

Этот проект теперь живет на Github .Не стесняйтесь вносить свой вклад.

1 голос
/ 25 августа 2010

За один раз (до VS2008) вы могли установить точку останова на каждой строке в файле, выбрав все (ctrl-a), а затем установить точку останова (F9).

Чтобы установить только одну записькаждый метод принимает, если я правильно помню, макрос.Посмотрите блог Джона Роббинса как возможный источник: http://www.wintellect.com/CS/blogs/jrobbins/

[РЕДАКТИРОВАТЬ: ctrl-A, F9 не работает в 2010 или 2008 году, поэтому это должна быть более ранняя версия, я помню это из]

...