Did this article resolve your question/issue?



How to trap a windows crash and generate a memory dump


TitleHow to trap a windows crash and generate a memory dump
URL NameP148139
Article Number000130855
EnvironmentWindows Server 2003
Windows Server 2008
Windows X
POpenEdge 10.x, 11.x
Question/Problem Description
How to trap a windows crash and generate a memory dump
How to replace Dr Watson with another debugger to generate a useful memory dump
How to use adplus in Citrix or terminal server environments
How to trap crashes on Citrix/terminal server environments automatically
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number

This solution contains information about modifying the registry.
Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs.

In certain environments, where Citrix or terminal server is used to execute Progress application, if crashes occurs in unknown points of the application is virtually impossible to use Adplus to trap the crash and generate the dump, once Adplus depends on the target process to be already running in order to attach to it. In those cases, an alternative is to replace Dr Watson as the default debugger with another Microsoft provided utility named cdb. This utility can be used to generate full memory dumps.

To do it, follow the steps below:

1 - Download and install Microsoft debugging tools from Microsoft debugging tool download site from


2 - After installing, open a command window, and go to the debugging tools directory
3 - Run cdb -iaec "-c \".dump /u /ma <your desired path for memory dump>;q\"" (This step modifies the computer registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\debugger, setting to be cdb instead of Dr. Watson).
4 - Make sure the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\auto value is 1, otherwise crash traps are not enabled.
5 - Send the file to Tech Support when requested. 

Please notice that the

1 - <path for memory dump> should have a "\" in the end, otherwise the file name will be appended to the directory name (this is not suppose to be user friendly!).  
2 - The desired file will be in the desired directory starting with _<process id>_<date>

Last Modified Date9/13/2015 5:58 AM
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.