Debugging

In engineering, debugging is the process of finding the root cause, workarounds and possible fixes for bugs.

For software, debugging tactics can involve interactive debugging, control flow analysis, log file analysis, monitoring at the application or system level, memory dumps, and profiling. Many programming languages and software development tools also offer programs to aid in debugging, known as debuggers.