Debugging is hard. On occasion, it’s really hard. In the course of your career, you are guaranteed to hit situations where (for a while, at least) you simply can’t see a way forward.
Sometimes it will seem as though what the software is doing is clearly impossible. Every piece of evidence contradicts what you’re seeing. If it wasn’t for the fact that it is happening, you would swear that it couldn’t.
On other occasions, every avenue you investigate turns into a blind alley, and you simply can’t think of anything else to try.
Don’t be disheartened. Rest assured that we’ve all been there—and we all will be again. This is just part and parcel of developing software. You will find a way through eventually.
If you find yourself ...