Why does F10 (step over) in Visual Studio not work

2019-04-04 06:17发布

问题:

I'm debugging a (web) project in Visual Studio 2008. I'm hitting a breakpoint. F10 continues to the next line, as expected, but the next F10 just stops debugging and the code continues without any more debugging (like pressing F5). Why is this happening?

  • I have tried 'clean solution'.
  • Other breakpoints sometimes(!) skipped, even in the same method

Any clues?

回答1:

It is probably because you do not have the update kb 957912 for Visual Studio 2008. That fixed the same issue on my machine.



回答2:

Make sure that you're in Debug mode not in Release.



回答3:

Without knowing more about your application it's difficult to say, but usually this sort of thing happens when the process starts a thread or otherwise goes into code where there isn't any debug information.



回答4:

There could be an exception while executing the instruction in question. Try enabling all exceptions to break into debugger and check.



回答5:

It almost sounds like you have the default settings for your debugging. If you go to: Tools
- Options - Debugging Under the general section there is a option to "Enable Just My Code" By default that is checked, if you uncheck that you should be able to step into the code that you want to see.

Without knowing more about your project and code that you reference, this is my best guess as to why you can’t step into the code.

Hope it helps Rihan



回答6:

F10 is Step Over. This means that any methods called by your current method will not be shown in the debugger. If these throw an uncaught exception or somehow end execution, debugging will just end, which would result in what you are experiencing.

F11 (Step Into) is usually a better idea when stepping through code.



回答7:

It might be stepping over the last executing code in the thread or somehow it's going back to the UI thread. If it's a GUI app, try doing something that invokes an event handler and see if it breaks on the next execution.



回答8:

I was having this issue while developing a Web App that was running on IIS on my local machine. I found that opening the task manager and killing the process (w3wp), then trying again made the problem go away temporarily.