This question already has an answer here:
How can one become better at debugging in general? I do not mean specific tools or tactics that apply to a certain programming language or stack, but simply how to make your mind better at it, hopefully something beyond "just more exercise".
I am fairly good at "blank sheet" type programming problems: I can easily code something from scratch, even starting from the lowest level and coding the framework in the process than maybe extracting the framework and using it in another project or doing a fancy rearchitecture of a complex piece of software. But compared to most people I've worked with, I am extremely bad at detail oriented debugging, and by this I mean finding that little misinterpreted error code, those parameters passed in the wrong order that gave birth to a wrong sql query n-levels deep, or that little configuration bug that made the testing server behave totally different from the production one or other "micro" bugs.
I sometimes feel that my mind is not made for this. Even in other areas with a high-level vs. low-level separation I get something similar, like when I write something, regardless of the language, despite my decent knowledge of spelling and grammar, I'm spell-checking dependent - when I focus on what I write, my mind becomes blind and I make horrendous spelling and grammar errors. And almost everything I happen to be doing, my mind drifts away to the higher level views and concepts (my mind is somehow "made for" architecting stuff and viewing high level patterns) and I become mostly blind to low level stuff and I'm very bad at debugging the errors at these levels. I get this detail blindness even when the lowest level code is written by me.
So again, what do you do and know it works to get over this detail blindness and debugging induced mind-block and become better at the task of debugging yours or others code? (I'm looking for as much facts and as little subjective opinions as possible for this question...)