My Visual Studio 2008 IDE is behaving in a very bizarre fashion while debugging a unit test: I have a breakpoint and when I hit it and then try to step with F10 the test con
Are you putting your breakpoints inside code that is part of a generated class?
I have experienced this problem on the client site of a service reference. The generated classes are partial classes with the
[System.Diagnostics.DebuggerStepThroughAttribute()]
attribute applied. Even when my breakpoint was in a different file, but still part of the attributed class, the breakpoint would be skipped.
I removed that attribute from the generated Reference.cs file and the debugger worked as I expected.
Of course, this isn't a permanent solution because if the Reference.cs file gets regenerated, the attribute comes back.
This may be as simple as a case of the testing framework not loading the same assembly that you're currently working on. I've had this happen in rare cases in NUnit, which works off a copy of your assembly under test; occasionally, it stopped copying over the most recent version. Are your breakpoints decorated with a "symbols have not been loaded" indicator?
May be it is too late to reply, I got same issue in VS2012 to fix that please check if menu Test>TestSettings> "LocalTestRun.TestRunConfig" is checked, if it is checked uncheck it and it will stop skipping the code lines. May be same for Vs2008 also work.
I had similar issues on VS 2003. It turned out that I was using wrong symbols so they could not be bind to correct source.
Make sure in a following:
p.s. try placing the DebugBreak(); function in both methods (unless this code is executed inside some loop so this might be frustrating). This should cause terminating your process when execution reach any of these functions (so you can continue with debugging from that particular place).
This behaviour happens if you debug the release build (since lines are optimized away).
It also happened to me in the past if by accident I'm debugging an older exe somewhere else (as set by the project config), instead of the most recently build one ;^)
I ran into this in Visual Studio Community 2013. The behavior appears to be by design. When running tests, execution will not stop on breakpoints. When you want execution to stop on breakpoints, selects TEST --> Debug rather than TEST --> Run.