Even if i caught the bug 1/10th down the cycles thats still 160,000 steps/clicks. Just thinking of stepping that many times exhausted my brain immediately. So it meant i would have solve it without data or visual feedback - which is close to (though not quite) solving an abstract problem. Well i never did find the bug.
Well if your assumptions are correct, you have technically already found the bug, but haven't found the cause or fix. I do not understand why debugging through this problem would require so many steps. So you should be able to attach a break point at certain locations so you don't have to walk through so much boil plate code. You may want to consider your tools as part of the issue as well.
The question i was asking myself afterwards (and like to ask others) was would game developers be able to develop successful algorithms if the concepts are abstract? This should still be valid for all ends of the development spectrum in fact moreso for experienced developer
I don't think video games is the place for theoires and abstract algorithms unless it is your hobby. On a professional level I believe this idea would be scrapped for something more sound and realistic to bring in revenue.
For instance recently i was iterating through the pixels of some bitmaps (400X800) using nested loops and doing some calculations during the cycles. During one of the cycle something broke To find the root cause I would have put at least 5 break points and to step through with the debugger. That meant i would have to click 400x800x5 (1,600,000) times or less!!!
I believe you would have to click "400x800x5(1,600,00) times or more". You would most likely miss this issue the first time you debug this. Debugging isn't about locating the issue the first time but reproducing the issue then fixing which usually takes more than one try.
And do real abstract problems exist in game development?
I imagine they do, but why would you want to do that? Programming isn't about being abstract... excepting the OOP sense of abstract. Software either it be video games, web severs, or mobile apps should be easy to read, perform well, and be scalable. Coming up with an abstract concept and putting it into simple development steps, well that is probably as close as your going to get.
I can see these debugging methodologies clearly now. The disadvantage of a lone wolf like me is i am developing a software that a in a company a team of probably 5-10 programmers develop(where ideas are shared, burden is distributed but i don't have that luxury), so one person doing the job of ten developers, the consequences are that a lot of times, under intense pressure, my brain is exhausted, my eyes are clouded and i see less.
Well you learn everyday
I wouldn't compare your skills to 5-10 programmers for many reasons. I don't think you understand how big a project a team of ten developers can create.