Debugging is all about understanding what your software is really doing. Computers are unforgiving readers; they never pay attention to what you mean, and always insist on doing what the code says.
Debugging happens naturally when actively developing code and troubleshooting a problem. The same kind of investigation is also a great way to learn about programs that are working just fine. It pays to look closely at what programs are really doing when you re-introduce yourself to code that you wrote a long time ago, or when you try to understand a new bit of code that you encounter for the first time.
Continue Reading Here