Debugging, Problem Determination and Diagnostic Tools