Отключение отладчика при следующем событии клика

в проекте .net windows forms, который имеет 100 форм, и у всех этих форм есть бесчисленные пользовательские элементы управления с базовыми классами, для меня очень сложно узнать, где находится конкретная кнопка, я имею в виду, что имя формы, которое Я смотрю, пока я запускаю приложение, и где именно находится событие нажатия кнопки, в коде, кнопки, которую я только что нажал. Есть ли функция отладки в Visual Studio, которая просто нарушит выполнение для меня в строке, где произошел щелчок. Могу ли я сказать VS, чтобы прорваться, когда произойдет следующее событие Click? (в настоящее время работает visual studio 2012/13).

спасибо.

Ответ 1

Как только вы нажмете кнопку в программе, сделайте следующее:

Перейдите в визуальную студию и приостановите программу. Просто нажмите кнопку паузы. Затем нажмите F11 (шаг вперед).

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

Ответ 2

Я могу предложить частичное решение.

Если ваши события click называются "Button_Click", откройте окна Breakpoints во время отладки и создайте новую точку останова.

http://c2n.me/39Uzhkl.png

Нажмите "ОК", и вы увидите список функций. Проверьте их и нажмите "ОК". На каждой выбранной вами функции будет создана точка останова.

enter image description here

Ответ 3

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

  • Найдите некоторый код (любой код в вашем приложении), который вы точно знаете, что он выполняется, и установите точку останова
  • Запустите эту точку останова, используйте SHIFT-F11, чтобы выйти, пока не закончите все методы
  • Теперь сделайте действие, которое вы не знаете, какой код выполняется, и он сломается