I am running Visual Studio 2008 with SP1. When I debug an application, it will skip over my break points.
For example, I have two lines of code, each call a method.
Ensure that you are building your application with the debug configuration.
In addition to the above methods, I've also come across another couple of circumstances where breakpoints aren't hit:
trunk
and branch
dir that I swapped around and VS opened files in the other directory.mspdbsrv.exe
is still attached to it, so check your process list. Restart Visual Studio often fixes this.I have had the same problem with MS Visual Studio 2008 SP1. PDB files matched executables files, so it was not a problem.
The problem was Visual Assist
. I turned it off in "Tools | Add-in manager" and after that there have been no problems with skipping breakpoints. So turn off any add-ins that you have in Visual Studio and install latest SP (it is SP1 right now).
I had the same problem in VS 2008 and tried everything spending about 1 hour but didn't help.
Finally tried running VS without administrator right and then Clean Solution->Rebuild Solution and worked fine.
Don't like VS on Win 7
It's possible that your symbol file (.pdb) is out of sync with your source code. A common symptom of this is:
When debugging, you should never see the debugging pointer stop on a blank line, and this would indicate that you have a symbol/source mismatch somewhere.
This sort of mismatch could also cause breakpoints to be skipped like you are seeing, but cleaning the solution generally fixes it (and it sounds like you have tried this already).
The other option (as suggested by others) is that you aren't building a Debug configuration. While it is possible to debug a Release build, the code is significantly optimised which can make the debugger act strangely, e.g.
One other important thing to note is that breakpoints cannot be set on every line of code. For example, if your code only has a variable initialisation:
long numObjects;
the breakpoint will generally not be set properly (although it will usually move to the next line of "real" code). However, if your line of code initialises the variable:
long numObjects = 5;
the breakpoint can be set.
I guess you changed your project to optimized code, so, no debug information is available (including the ability to use breakpoints).
To correct this: open your project, click on menu->project->(your_project) properties..., click on compile tab, click on advanced compile options, then: - unselect "enable optimizations" - in generate debug info list, choose "full". - Click OK, close and save everything. Should work now.
MFR>