Blankman
Blankman

Reputation: 267260

Why do I occasionally get this issue with breakpoints not being hit when trying to debug?

I recompile my solution, and when it starts in debug mode I get this warnings around my breakpoint saying that it won't be hit.

There is a copy of the source code file that is different.

Why would there be multiple versions of my source code loaded when trying to debug?

I even do a clean compile and still get this error.

Upvotes: 0

Views: 107

Answers (2)

Melek
Melek

Reputation: 31

I had same error in VS 2019 .I solved that way;

Tools->Options->Debbuging->General and "Require source files to exactly match the orginal version" deselect that option

Upvotes: 0

Tam Bui
Tam Bui

Reputation: 3038

Visual Studio is usually pretty good at detecting when your source code doesn't match the code signature of your attached exe or dll process. So I suspect that it is one of two possible issues:

  1. Your debug session's Platform/Configuration (e.g. Debug/x64) doesn't match the .exe or .dll compiled architecture. OR
  2. What you think is a "clean compile" isn't really clean.

The only source code that Visual Studio knows about is the one in front of you. But when Visual Studio is debugging an .exe or .dll, it is attaching itself to the .exe or .dll process, using reflection, and analyzing the code of that .exe/.dll. It determined that your .exe/.dll doesn't match the Platform/Configuration you wish to debug, or its reflected source code doesn't match the written code that is in front of you in Visual Studio's IDE.

When you say that you do a clean compile, make sure that it is really really clean (don't rely on the Visual Studio "Clean" feature. It's not reliable in all cases. For example, if you have created Build Events that copy contents pre- or post-compile. Instead, delete your project's /bin and /obj folders, then recompile. That will ensure your binaries always match your latest code for debugging. Do this a few times, and see if you still get the issue.

Upvotes: 1

Related Questions