{{Short description|Process of finding and resolvingFixing defects or problems withinin aan computerengineered programsystem}}
{{Redirect|Debug}}
{{Software development process|Core activities}}
In [[computer programming]] and [[software developmentengineering]], '''debugging''' is the process of finding andthe resolving ''[[SoftwareRoot bugcause analysis|bugsroot cause]]''(defectsof or problems that prevent correct operation) withinand [[computer programworkaround]]s,[[software]],and orpossible fixes for [[Softwarebug system(engineering)|systembugs]]s.
DebuggingFor [[software]], debugging tactics can involve [[interactive]] debugging, [[control flow]] analysis, [[unit testing]], [[integration testing]], [[Logfile|log file analysis]], monitoring at the [[application monitoring|application]] or [[system monitoring|system]] level, [[memory dump]]s, and [[profiling (computer programming)|profiling]]. Many programming languages and software development tools also offer programs to aid in debugging, known as ''[[debugger]]s''.