Visual Studio refuses to forget breakpoints?

2019-01-10 07:17发布

问题:

Visual Studio remembers breakpoints from previous debugging sessions, which is awesome.

However, when I'm debugging, and I clear one of these "old" breakpoints by clicking on it, it's only temporarily deleted. What I mean is the next time I debug, the breakpoint that I thought I removed is back.

This is super annoying--is there a setting to make it not do this?

回答1:

go to Debug menu then Delete All Breakpoints Ctrl+Shift+F9



回答2:

The problem is that child breakpoints of your breakpoints persist. Child breakpoints are created (in certain situations) when setting breakpoints during a debug session.

A surefire way of deleting a breakpoint (and children) is to manually look for it in the breakpoint window, and delete it from there. (Select the top node of the entry, hit Delete.)

If you're running an (old) version of Visual Studio that supports VBScript macros, you could run the macro posted here (between debug sessions), to remove child breakpoints. This will make removing breakpoints by clicking the glyph somewhat more effective and predictable, but it continues to be problematic and awkward.



回答3:

I was struggling to find the 'BreakPoints Window'.So here's the quick way to open it- ctrl+alt+B


Or you can manually go to 'Debug->Windows->Breakpoints' to open it.


Or you can hit ctrl+shift+F9 to delete all breakpoints at once!



回答4:

There are some answers here, but in my opinion proposed actions are distractive to use during debugging (I don't want to lose my focus).

My flow with sticky breakpoints during breakpoints is as follows:

During debug, DISABLE the breakpoint instead of removing it.

Possible ways of disabling a breakpoint:

  • hover with cursor and click the two cycle icon;
  • or use context menu on it;
  • or keyboard short-cut CTRL+F9 (not Shift+CTRL+F9, as it clears all breakpoints).

Later on, during development, I remove a disabled breakpoint when I see one.

PS. It's also a good practice to remove all breakpoints once in a while.



回答5:

  • Start your debug session with a minimal number of files open, as you debug the unwanted breakpoints will show up and the containing files will open in new tabs.
  • Terminate the debug session and open the breakpoints window (from the debug toolbar, for some reason it is not in the view menu).
  • For each file, enter the name of the file in the search area of the breakpoints window and press enter to filter out the breakpoints by file.
  • You can then click on each breakpoint in the window to see where they are located in the code and delete them if you want. A bit tedious but that the best way I found to get rid of those unwanted ghost breakpoints... Bookmarks and breakpoints management.. Those functions were probably last enhanced sometime during the last century...


回答6:

Most breakpoints can be removed during debug-session, but some are stuck (probably a bug in Visual Studio).

It you want to remove only the breakpoint which is stuck, then use the "Breakpoints" windows found on the debug menu. There you will probably see that your breakpoint exist multiple times for the same row. Simply rightclick and delete it.



回答7:

A quick alternative answer to this old question that just hit me with Visual Studio 2017.

If possible, just cut and paste the code with the breakpoint on it. The breakpoint goes away with the cut.



回答8:

Go to debug > windows > breakpoints and find breakpoints and remove those from pane.

as It was answered here



回答9:

I consider this a design flaw, its very frustrating and something we have had to live with for a long time. We hit it so often that it just becomes the norm. The solutions given so far are really work around.

A better solution would be to get together and vote for a change on the Visual Studio User Voice. It seems like this has been logged a few times so we should pick one to vote up.

https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/31123351-delete-disable-break-point-while-debugging-should