Is there any way to break on the next line of code executed in Visual Studio?

会有一股神秘感。 提交于 2019-12-04 22:14:37
Ryan Lundy

Have you tried the Debug > Break All ("pause") button? (Ctrl+Break)

It'll usually break somewhere pretty low on the stack, like at Show() for your main form in a WinForms app, but if you then Step Into to get past that, it'll often work pretty well for this sort of thing.

Are you looking for the Step Into (F11) or Step Over (F10) ?

-- Edit

Do you also know about the Call Stack window? It can help you determine your location, and what is happening.

Conditional Breakpoints may be your answer. You can set them were you think your code is breaking and they will only halt when the condition is satisfied.

Debug -> Exceptions

Check thrown for the CLR Exceptions.

EDIT

The odds are you are having a CLR exception. Using this method the debugger will always break when an exception occurs. This is very convenient compared to reading the stack trace.

Some ideas:

  • If you use a consistent naming convention for your event handlers then it should be trivial to do a global search for them all and add breakpoints. You can quickly record a macro on the first hit and then play back the macro to take all the pain out of repeating the operation many times. With a bit of practice you'll be able to breakpoint all the handlers in a few seconds flat.

  • Add an extra event handler for the event (create it early - e.g. in the constructor - so it's added before all other event handlers that your app adds, and is therefore hopefully called first) and stick a breakpoint in it. Once you've hit the breakpoint you can then single step through the other event handlers on the event.

  • write a custom event handler that handles the click and simply generates a new event. Attach all your other event handlers to this secondary event. Then you can breakpoint the first handler and step through the secondary handlers that it calls.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!