Applies To:
  • CitectSCADA

It can be very difficult to find the cause of memory or handle leaks in any application including CitectSCADA. Memory and handle leaks can be related to the core code of CitectSCADA, I/O Device Drivers, or even 3rd Party applications which are connecting to various components of the product. 

The Microsoft Debug Diagnostics Tool has been proven to assist in the troubleshooting of memory and handle leaks. The information provided is very useful to assist Citect Support staff in identifying the cause of the leaks.

The tool can be downloaded from the downloads section of the Microsoft website. The version that was used for this article was version 1.1.

The steps to gather the information required is detailed below:

1) Download and install the Debug Diagnostics Tool

2) Start/restart CitectSCADA so that the memory and handle usage it at baseline

3) Open Debug Diagnostics, cancel the "Rule Type" Wizard if it appears and select the "Processes" tab

4) Right click on the citect32.exe process and select "Monitor for Leaks"

5) After the system stabilises (say after 30 minutes) right click again on the citect32.exe process and select "Create Full Userdump". It will take about 5-10 seconds for the Userdump to complete and during this time Citect will be frozen so this should be done at a planned time when production can not be affected. The CitectSCADA trends may also exhibit a small gap depending on the redundancy, gap filling, and backfilling configuration. With trend server redundancy and the default gap filling parameters no gap should be seen (unless the userdump takes more than 10 seconds for which the [Trend]GapFillTime parameter should be increased).

6) Depending on the severity of the leak it's recommended that a full userdump is created once every 24 hours over a 5 day period while leaving the Debug Diagnostics Tool running during this entire time. After this time you should send the userdumps to Citect Support for analysis and close the Debug Diagnostics Tool.


Testing has shown that running the Debug Diagnostic Tool does not have any adverse affects on the system other than when a userdump is being created. It should also be noted that the [Kernel]Watchdog should be disabled before creating the userdumps as this may cause Citect to crash due to the freeze.