One of the most important tools that any developer has at his or her disposal is the debugger.
Typically, these come as a standard part of the IDE for many compiled languages but many of us are now using scripting languages or interpreted languages to build our applications. In this case, debugging is a little bit different.