So this just started: When I'm debugging a method, VS debugger does not recognize variables or objects that have been declared within the method I am debugging. When I hover over them, it does not give any pop-up intellisense. If I add it to the watch, it says:
'FooBar' is not declared. It may be inaccessible due to its protection level.
It can be something simple, like:
Dim MyString String = "this is a test"
But after moving past that line in dubugger, it won't recognize MyString. BUT, if I then use MyString, like save it to the DB or output it to the screen, it works fine. So it's really there, but debugger is not recognizing it.
Variables and objects that are passed into the method work just fine, as expected.
The first time I saw this, I did a clean & rebuild, and that solved the problem. But a few debugs later, it started up again. A clean & rebuild did not work. So I closed VS, deleted the solutions .suo file. After starting VS back up again, debug now worked as normal, for a while.
But now it's doing it again, and nothing I try seems to get it back working again.
I spent time on Google and have found people who have asked the same question, but I've not seen any thread anywhere with a definitive answer.
Anyone ever seen this before and whooped it?
EDIT AFTER:
Pretty sure I am doing this in debug mode. But let me know if there is some other place I should be looking.


My guess is that you are debugging a 'Release' configuration. Release configurations optimize the code by, among the many other optimizations, removing code that it knows for sure is never going to be used. So, for example, Dim MyString String = "this is a test" will be optimized out of the solution if it is never used but if you add a line of code to commit it to a database it is then being used and will not be optimized out. Switch to the 'Debug' configuration to prevent these types of optimizations.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With