Approaches of Debugging in Software Engineering: 7 Powerful Methods Explained