Write it Down
There are nearly 100 people registered for tomorrow's debugging webinar. Will you be joining us?
As I've mentioned already over the past few days, the goal of debugging your code should be increased understanding, not just fixing behavior. This is especially true if you're early in your career. Debugging your code and having to articulate and make sense of real issues is a much more effective teacher than reading lessons or writing up toy tutorial apps.
So in the service of increased understanding, I encourage you to write things down as you debug. I can't tell you how many times I've worked through a problem, fixed the issue, and then 10 minutes later couldn't recall the cause if you asked me.
Writing improves retention, and helps you keep track of all the threads in your head.
Keep a notepad on your desk. As you're working through a complex problem, just scribble down some notes here and there to keep track of where you are and what you've tried. You might be surprised by how this helps you make connections where you otherwise might forget what you saw 5 minutes ago and how it connects to what you're seeing now.
When you've finished and applied a complete fix, take a few minutes to summarize what you saw, what the root cause was, and how you came to the solution that you did. This will help you to recognize similar situations in the future.