The following blog post will give an overview of common tools used to troubleshoot Outlook issues. I will focus in this post on Process Explorer. I will not cover all features that Process Explorer has, but I will try to highlight some of them that you can use while investigating an Outlook issue.
Process Explorer shows you information about which handles and DLLs processes have opened or loaded.
How you can use Process Explorer with Outlook:
Most of the time, when we have problems with Outlook (unexpected behavior of the Outlook client, Outlook is consuming too much memory 100 % CPU, Outlook crashes, etc.) one of the very first steps is to check if the Outlook client works correctly in safe mode. What safe mode means?
Safe mode means that you will not use some of the Outlook features during that session and you will prevent addins to be loaded etc.
In order to start Outlook in safe mode the switch to be used is : /safe. (Starts Outlook without Microsoft Exchange Client Extensions (ECE), the Reading Pane, or toolbar customizations. Component Object Model (COM) add-ins are turned off.)
Command line to start Outook in safe mode : Outlook.exe /safe.
More details on Outlook switches: http://office.microsoft.com/en-us/outlook/HP012185891033.aspx
As mentioned above, one of the results while using Safe mode: addins are disabled. (not all addins can be disabled using safe mode)
Let’s assume that using safe mode the problem is not appearing anymore in Outlook. In order to go deeper with our analysis we will go and check: which DLLs files are loaded while starting Outlook in “normal” mode and which DLLs files are loaded in “safe” mode (under the Outlook process).
In order to compare these two lists we can use Process Explorer to dump the full list of DLLs files.
Here is how you will use Process Explorer to list and export the DLLs files that are appearing under the Outlook.exe process
a) Download Process Explorer and install it on the impacted computer. Start Process Explorer
b) Start Outlook (normal mode/ safe Mode)
c) Once Outlook is started you will see in Process Explorer main window the Outlook.exe process
d) Select the line containing the Outlook.exe process and press “CTRL+D” in order to display the list of DLLs
e) The main window will split in two: the upper pane will display all Windows active processes and the lower window will display the list of DLLs for the selected process (in our case Outlook.exe)
f) You will use the lower pane to check all the DLLs that are under the Outlook process. As in our example the problem is not appearing in safe mode, you would need to check if there are DLLS (Microsoft, 3rd party) that are appearing in “Normal” mode and aren’t appearing in “Safe” Mode.
g) The easiest way to do this is to export these lists (one for Outlook started in normal mode and one for safe mode).
h) You can use the “File -> Save As…” menu to export the list as TXT file.
i) In our case you will have 2 export files that you can compare later.
j) Even if these exports are saved as TXT files you can use Excel to filter the data and to select different DLLs (filtered by company for example, etc.)
Note: Of course you can use also the Process Explorer interface to sort and filter the content, but as I mentioned I think is easier to have all these exported and analyzed in Excel.
In Process Explorer window, lower pane you have by default the following columns: Name (dll filename), Description (friendly name of the application that is using the DLL), Company Name, Version. You can customize the lower pane columns by right-clicking on the column names and selecting: Select Columns.... For example you can select the “Path” column in order to have the location of the DLL file.
In order to have more details on a DLL file you can select the DLL and right click on it. Next you can choose “Properties”.
Another nice feature of Process Explorer is “Process Explorer Search” feature (Find -> “Find Handle or DLL” or press CTRL+F). For example if you see that your Outlook is crashing with mspst32.dll you can use this feature to see which processes are using the DLL ( might create a conflict/sharing violation/, could keep the DLL runing even if Outlook is closed, etc.)
Note: All details on Process Explorer features are also available in the Help menu.
Going further with our example where the problem does not appear while using Outlook in safe mode. Once you compared the 2 Process Export Files and you identify one or more 3rd party DLLs (not Microsoft) that are appearing while Outlook is started in "normal" mode, you could check these files one by one in order to identify which one is impacting Outlook’s behavior.
Once you identified the DLL that is causing your problem you can open a support case with the application provider or you can check on their website if there is an update that corrects the behavior.
This was a basic example that I provided in order to underline the usage of Process Explorer. Of course you can use Process Explorer for advanced scenarios and more complicated issues. In order to see the benefits of Process Explorer while troubleshooting an Outlook issues you will need to try it and test it first.
Using Process Explorer to List dlls Running Under the Outlook.exe Process