Tips for Your SharePoint Testing Environment

This one isThese two are for those of you using a dedicated environment for testing their SharePoint solutions before going live. Of course these tips can be applied to production environments, too.

Getting Line Numbers in Your Stack Trace

As you probably know you will only get line numbers in your stack trace if Windows can access the respective .pdb file. But if you have GACed your assemblies there is no place arranged to store the corresponding .pdb files. This isn’t a problem if you are debugging with Visual Studio as it is smart enough to find it’s own .pdb files. But you don’t have Visual Studio on your testing machines…

While you can find outlandish attempts on the Net to GAC the .pdb files as well there’s a much simpler solution. Just add two entries to the registry under “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment”:


Set both values to the directory where you plan to store your .pdb files, for example “c:\PDB-Files” and restart IIS. After doing this for the machine you use to deploy your solutions add similar entries to your WFE’s registries. Of course they will point to the original directory, for example “\\\c$\PDB-Files”.

When you deploy a solution simply copy the corresponding .pdb files to the dedicated folder. This will even work for release builds as they come with .pdb files, too. But due to optimizations the line numbers will not always be correct.

Monitoring Your SharePoint Logs

When testing a solution you usually want to monitor your SharePoint logs more closely. And of course you want to watch all your WFE’s logs in one place and have everything updated in real-time.

There are various tools for this. I choose ULS Viewer (see External References) for it’s features. Here’s how to set it up to monitor all your WFE’s logs:

  • Create a mapped folder for each SharePoint log directory of your WFEs.
  • In ULS Viewer: select File | Open From | ULS. The “Setup the ULS Runtime Feed” window appears.
  • In the “Setup the ULS Runtime Feed” window:
    • Select “Use directory location for real-time feeds”.
    • Specify one of your log directories and click OK.
  • Repeat the previous three steps for all your log directories.

I decided to show each log in it’s own tab because the Server column is always empty and one wouldn’t know from which WFE an entry originated if everything was in one tab. The drawback is that filtering gets more laborious but this is compensated by using stored filters. When writing this I found that you can even save and re-load workspaces–all your tabs with all their filters and configurations. So you’ll have to configure this only once–Yay!

Unfortunately I also found that having an empty filter value makes the program crash and others found problems with non-US date formats. But even with it’s bugs and strange UI the program has too many benefits to use something else:

  • Monitor multiple logs, even from different machines
  • Open multiple persisted log files in one tab
  • Configurable notification system
  • Bookmarking
  • Smart Highlight: highlights all fields that have the same value as the one your mouse is hovering over
  • And of course the features you’d expect anyway like filtering, sorting, and highlighting entries

Be aware that there is another program called ULS Viewer available on CodePlex. The one I’m using is Microsoft’s own tool and they kindly released it a while ago–although unsupported. Unfortunately this means there is no source code available and it doesn’t look like there will be an update anytime soon.

External References

Enable Stack Trace Line Numbers
SharePoint 2010 ULS log viewer
ULS Viewer, for SharePoint 2010 Troubleshooting

This entry was posted in Uncategorized and tagged . Bookmark the permalink.

One Response to Tips for Your SharePoint Testing Environment

  1. Matthias says: wundert jeden Netzwerker … speziell die 555 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s