Как установить точку останова при каждом доступе к классу - программирование
Подтвердить что ты не робот

Как установить точку останова при каждом доступе к классу

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

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

[EDIT: ctrl-A, F9 не работает в 2010 или 2008 году, поэтому это должна быть более ранняя версия, которую я помню из]

Ответ 5

Существует метод без аддона, описанный здесь: http://blogs.msdn.com/b/habibh/archive/2009/09/10/class-breakpoint-how-to-set-a-breakpoint-on-a-c-class-in-the-visual-studio-debugger.aspx

Короче говоря, вы можете открыть диалог "Новая точка останова", нажав CTRL + B и ввести ClassName:: * в поле функции. Затем вы можете отключить некоторые из них в окне точек останова.