How to collect memory dumps using DebugDiag

  • introduction

    Process memory dumps are very efficient sources of information that are used for troubleshooting web sites, which is the reason they are frequently requested by Sitecore Support.

    There are various tools that allow collecting the memory dumps of a specific process, both based on user request (on-demand), as well as based on a specific event (conditional).

    The current article describes the way to gather memory dumps using the DebugDiag application.

    For other methods of gathering memory dumps, refer to the following article:

  • Gathering Memory Dump Files - on-demand

    To a collect memory dump file on demand:

    • Run the DebugDiag 2.0 Collection tool.
    • Navigate to the Processes tab.
    • Identify the process (e.g. using process ID). Refer to the following article for details:
      How to identify process ID of appropriate Sitecore instance.
    • Right-click on the required process, and select the Create Full Userdump option:

    DebugDiag will collect a memory dump file and display a message box with the path to the file. Move it to another location before sharing.

    Important: Always remember to specify the Full Userdump option. Mini memory dump files contain a limited amount of useful diagnostics information.

  • Conditional memory dump files gathering

    The DebugDiag tool allows to specify different triggers for collecting memory dump files automatically. It supports the following basic kinds of rules:

    • Exception based rules
    • Performance counters' rules

    To cover the high memory or high CPU usage scenarios, corresponding system performance counters can be used.

    This section covers basic examples of the tool usage.

    1. Collect a memory dump file when an exception is raised

      This scenario is well covered in the following blog post:
      http://blogs.msdn.com/b/kaushal/archive/2012/05/09/using-debugdiag-to-capture-a-dump-on-first-chance-exception.aspx

      The article content is applicable for DebugDiag 2.0.

    2. Collect a memory dump file when a performance counter exceeds value

      This scenario is covered in the following blog post:
      http://kate-butenko.blogspot.com/2012/06/how-to-gather-dump-with-debugdiag.html

      The article content is applicable for DebugDiag 2.0.

    Important: Always remember to specify the Full Userdump option.

Applies to:

CMS 6+

September 10, 2014
February 05, 2019

Keywords: 

  • Performance