Breakpoints disabled in release mode
-
Using Visual Studio 2022 on Notepad++ code, I get the situation when I run the code that any breakpoints I’ve set are disabled:
Note that this is “Release” mode. If I change to “Debug” mode, the breakpoints remain enabled (and are indeed hit at the right time):
In troubleshooting for Release mode running, I see that “No Symbols have been loaded for this document”. This can make sense for a Release mode build, but the thing is, I’m pretty sure that a while ago I could set and hit breakpoints in this mode – has someone changed this attribute of the build?
I’d run in Debug build mode, but there are some assertions that fire when I have certain data in a Scintilla editing window, and these “get in the way” of what I’m trying to debug. (Sure, someone should go in an fix the code for this, and/or clean up the assertions if they are invalid). I could “comment out” said assertions, but this got just annoying enough that I thought I’d bother to create this thread here…
-
@Alan-Kilborn said in Breakpoints disabled in release mode:
but the thing is, I’m pretty sure that a while ago I could set and hit breakpoints in this mode
Not having compiled/debugged N++ source, I cannot answer for the specifics, or whether there’s a way to fix it in the project settings.
But at work on our VS-based projects, I have definitely seen that if I don’t remember to recompile in debug-enabled mode, it will skip breakpoints (it’s more confusing at work, because the behind-the-scenes automation hides from us whether it’s the “Debug” target or “Release” target because both must build to the same location, and whichever was built last overwrites the other).
-
@Alan-Kilborn said in Breakpoints disabled in release mode:
I’d run in Debug build mode, but there are some assertions that fire when I have certain data in a Scintilla editing window, and these “get in the way” of what I’m trying to debug.
If you right-click the Notepad++ project in the Solution Explorer pane and select Properties, under Linker there is a Debugging page. Select the Release configuration and change Generate Debug Info to “Generate Debug Information (/DEBUG)”; that should let you compile as for release, but with symbols. Just remember not to commit the changes to the .sln file.