1. Make sure I understood the problem, observing the failure in person if possible.
2. Obtain as much relevant information as possible, debug logs, screen shots etc.
3. Attempt to reproduce the problem in a development/test environment.
4. Identify and fix the defect using the appropriate tools e.g. debuggers, packet sniffers, code analysis, internet resources
5. Deploy the fix and test that the original failure no longer occurs. Suppose you'd better make sure you haven't broken anything else too