Debugging is a very important part of software development. Only developers who never make mistakes, or developers that maintain code that has no mistakes, should skip this chapter. For the rest of us use of a debugger is critical to understanding code that isn’t working correctly. We won’t get into the details of “what is a bug” as this can mean many things to many people. In this section we will simply talk about using the standard IDE tools for examining code. There are many complete books dedicated to the theory of bugs and debugging; some of these are listed in the additional resources in the appendix.