My favoritue tool for debugging web communication must be Fiddler. Fiddler enables you to view all requests from your client to a server, you can see the raw http requests – which is very useful for deubgging SOAP requests or similar web service communication – and it allows you to display all request/responses in a timeline which is quite useful for performance debugging. And much other – fiddler is one of my must have debugging tools.
2. Process monitor
The precedors of this tool are FileMon and RegMon – now you have both of them in one tool + some additions. Process Mintor can be downloaded from here. It monitors all IO activity to disk and registry, you can apply filters – for example by filtering out specific processes or specific file paths – and you can highlight rows by searching for key words. When your application hang’s who wouldn’t like to know what was the last dll it was accessing?
The WinDbg tool requires some hours for one to get acquainted, but even if you just allow youself to spend just a few hours with this tool it will help you determining why your application crashed, where that memory leak actually originates and so on. Don’t forget to acquite the symbols for your server etc. – please check out http://windbg.dumpanalysis.org/. If you are a developer and used to working with Visual Studio, you could probably get much help from just attaching Visual Studio to the process you’d like to debug instead of learning WinDbg.
4. PerfMon (Performance Monitor)
The built in Performance Monitor (hit start -> run and type perfmon) is also one of my favorites. I can hardly count the times the perfmon has helped by either verifying where I have a problem or that I actually didn’t have the kind of problem which I expected. I use it both on all sorts of servers and on clients.
5. SQL Profiler
The profiling tool for SQL Server is installed with the SQL Server Management Studio. As with the others this is one of my heavily used tools. I use it for understanding which queries execute slowly, how the queries are distributed – and also, together with the PerfMon tool it has helped me understand which queries result in e.g. disk queues etc.