Debugging is a very important part of software development. Only developers who never make mistakes or developers who maintain code that have 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 chapter, we will simply talk about using the standard IDE tools for examining code. There are many books dedicated to the theory of bugs and debugging; some of these are listed in the additional resources in appendix D.