Tools for Troubleshooting Applications (including SharePoint)

Let me share with you some public tools I’ve been using when working with applications and SharePoint cases.

These are the tools I use before trying a hardcore approach like attaching the debugger to the application or collecting dumps to do a post-mortem debugging. Of course, there’re situations where debugging is the only option, but based on the SharePoint cases I’ve been working with, it should be more of an exception than a rule.

The tools below are used for troubleshooting purposes and should give you information through formatted reports and graphics, so it’s easy to visualize the information and send the information to your customer or team.

For IIS log analysis and other log analysis:

LogParser

Note: Lately I've been using PowerShell.

 

For SQL Server analysis:

SQL Nexus (uses LogParser under the hood)

For SQL Server Profiler analysis:

RML ReadTrace

For Performance Monitor analysis:

PAL (uses LogParser under the hood)

Anti-panic warning: I’ve seen customers in panic because the red flags from the PAL report.

In some cases they were false positives. To avoid misinterpretation follow these guidelines:

a) When analyzing a counter, analyze it within the context of other counters. Do not consider one single counter alone. Context is very important when analyzing PerfMon logs.

b) Don’t worry about a few spikes. A few spikes doesn’t mean there’s a problem.

c) Always look at the graphic. The graphic means more than the numbers alone.

For gathering detailed information about SharePoint and the server:

SPSReport

For troubleshooting authentication and authorization failures in IIS:

AuthDiag (DebugDiag 1.1 has a newer version included)

I intend to update this article whenever I use a new tool that proves to be helpful.

Fiddler

Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and "fiddle" with incoming or outgoing data.

WinDiff

Great to compare files, like logs from different machines.

Process Monitor

For monitoring registry and file access.

CLR Profiler

Using this tool you can have a graphical view of all objects stored in the managed heap and their corresponding root objects.

 

SPDisposeCheck

 

This tool will examine your IL level components and report any possible areas where you may have the potential for a leak due to objects not being disposed of correctly. The output from the tool does may indicate false positives.

If you have been using different tools and want to share it with us, do it.