Debugging tools fall into two categories:
Tools to diagnose issues when they arise and reveal problems
Tools that prevent mistakes and errors from ever happening to begin with
The age old adage still applies: prevention is better than cure
Installing the plugin Developer from the WordPress repository will give you quick access to a broad range of debugging tools. The following debugging plugins are quite useful:
Log Deprecated Notices Logs usage of deprecated functions.
Debug Bar Provides an interface for debugging PHP Notices/Warnings/Errors, reviewing SQL Queries, analysing caching behaviour and much more. It's also extendable with plugins.
Debug Console The Debug Console for example is really useful.
Query Monitor View debugging and performance information on database queries, hooks, conditionals, HTTP requests, redirects and more.
Rather than manually adding
var_dump statements and reloading the page, you can add a breakpoint anywhere in your PHP code, execution will stop and you can see a stack trace, inspect (and modify) the values of all variables and objects or manually evaluate (test) a PHP expression.
With zero-configuration debugging (controlled via cookies and bookmarklets) you don't need to add
?XDEBUG_SESSION_START to your URLs and you can also debug HTTP post requests.
DBG - PHP Debugger and Profiler
Chrome DevTools for Google Chrome
Firebug for Mozilla Firefox
F12 developer tools for Internet Explorer
Opera Dragonfly for Opera
There are a number of tools dedicated to analysing code and catching semantic mistakes, or pointing out problems in code.
PHP Mess Detector for example, will highlight long variable names, npath and cyclomatic complexity, classes that are too large, unused variables, and other problems. SCheck is a tool provided by Facebook, and performs similar checks, such as finding dead statements and unused classes.
If you can't type hint, you can make use of a tool such as phantm to infer types and find clashes. Many others exist though, and integrate with your editor/IDE, so look around