The most critical step is understanding the error as well as possible. This requires knowing clearly what was happening before the error occurred, what specifically caused the error to occur, what the error condition is and what happened as a consequence of the error.
The most helpful situation to enable the developers to find and correct the error is to come up with a sequence of steps that generate the error. If the error can be repeated, it can almost always be corrected. The most helpful error reports include a small recipe that can cause the error to occur.