21
votes

in a .net windows forms project which has 100s of forms, and all those forms has countless custom made controls with base classes involved, its very difficult for me to know where a particular button is, i mean whats the form name which I'm looking at while i'm running the application, and where exactly is the button click event, in code, of the button that I just clicked. Is there a debugging feature in Visual Studio, which would just break the execution for me to the line where the click happened. Can I tell VS to break at which ever Click event comes next? (running visual studio 2012/13 these days).

thanks.

3
This depends on your Visual-Studio version. What you have to look for a "conditional breakpoints".user743414

3 Answers

24
votes

Just before you click the button in the program do this:

Go to visual studio and pause the program. Just press the pause button. Then press F11 (Step Into).

Now press the button in the program, and you should be taken into the event handler.

1
votes

For web projects, the technique suggested by Jakob Olsen will not really work, because you have no active thread in between the calls, and hence no thread to resume upon the next action. However what worked for me was:

  • Find some code (any code in your app) you know for sure it gets executed and set a breakpoint
  • Trigger this breakpoint, use SHIFT-F11 to step out until you're out of all methods
  • Now do the action of which you don't know what code is executed, and it will break
0
votes

I can suggest partial solution.

If your click events are named like "Button_Click", open Breakpoints windows while in debug and create New breakpoint.

Click OK and you will see list of functions. Check them and click OK. On every function that you have selected will be created a breakpoint.

enter image description here