fresh thinking leads to good debugging (dont spend hours, take a break), dont isolate the bug from you colleagues (discuss the problem), dont modify code on first attempt, add test cases, regression testing is a must, design should be referred to before fixing the error