Debugging Drupal is not that much different from any kind of debugging or problem-solving, and the topics we'll cover are the same regardless of your level of Drupal or PHP expertise.
Here we'll cover three topics:
- Strategy: How do we think about the problem? How do we gather basic information about the problem? How do we not get stuck debugging the wrong problem?
- Tools: What tools can be bring to bear on our problem? What should we have prepared in advance?
- Techniques: What specific techniques can we use?
Although you may be here for #3, the first two will probably have more of an impact on your success, so we're going to spend some good time on them first.