A program that is used to trace errors in the code as programmers work on the program. It quickly identifies where exactly the errors (or bugs as they are called) are. The debugger will highlight the exact lines of code where problems are found. These bugs are usually related to errors in syntax representation in the programming language that’s being used. To find errors which are not obvious in the code and are errors more related to the logic of the algorithm used or related to interaction characteristics with the system, debuggers also support a step-by-step walk through of the program, which enable the programmer to see how the application reacts to each line of code and where the code breaks or the system crashes.