Debugging specifically in computer programming and engineering is a comprehensive process of fixing software bugs in computer programs, operating system, and embedded hardware systems.

It is a multistep process that involves identifying a problem, isolating the source of the problem, and then correcting the problem. If the problem cannot be solved then determining a way to work around it may be the next option.

Several tools such as IDEs, code editors, debuggers, and more are used in the debugging process.