What is debugging?
Debugging a program starts with understanding what a bug is. A bug is best thought of as a software defect. Bugs range in severity—some bugs might produce minor inconveniences in a program, such as producing the wrong text, while severe bugs will prevent a program from compiling. When a bug is detected, it is important to find the bug and repair it; this act is what is known as debugging.
Debugging is as much an art as it is a science. Debugging is the act of finding and eliminating defects in software. As was discussed earlier, defects are a given for a program of any significant size and functionality. As such, it is important for you, as a developer, to be able to troubleshoot defects. The following section is dedicated to understanding bugs and the debugging process.
Types of bugs
Depending on who you ask and what article you read, there are many types of bugs. However, the following types of bugs are arguably the most common types you will run...