The most of bugs can be found easily by simply var_dump
ing some of key variables, but it obviously depends on what kind of application you develop.
For a more complex algorithms the step/breakpoint/watch functions are very helpful (if not necessary)