I discovered a new feature of Activity Monitor today that could be one of the best debugging tools in the Mac OS to date: application sampling. While viewing the process list in Activity Monitor's main window, select an application and choose "Sample" from the Process menu. This is also available as a button in the Inspector window. Wait a few seconds while the sample is taken, and you will see exactly what functions the application is executing at that moment.
Why is this useful if you're not a programmer? Well, consider a problem I was having with Photoshop this evening: whenever I would open or create a file, Photoshop would hang with a stopwatch cursor. Initially unable to diagnose the problem, I opened Activity Viewer, took a sample, and discovered that the main thread was looping deep in a series of calls that had names including "CUPS" and "Printer." I checked the status of my CUPS print server, and sure enough, it wasn't online (which, incidentally, meant that I had Panther's shoddy networking to blame for the hang). I opened Printer Setup Utility and deleted the networked printer, and Photoshop instantly returned to life.
Mac OS X Hints