Heap Check Form

Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

You can use the SysHeapCheck form to diagnose performance problems. For example, you can click the Cursors tab to determine whether there are any SQL database table variable cursors that are inactive yet have not been freed. Such cursors hold locks on resources, which can slow the whole system, or which might block other threads that need those resources.

The following tables provide descriptions for the controls in this form.





Populates the form with all the active objects (or cursors) for your session. This includes memory allocations from the stack.

Check heap

Checks the heap for allocations.


Tells Microsoft Windows to issue a compact message.


Puts the displayed information into a text file.





Displays all unfreed objects for your session.


Displays all unfreed cursors for your session.

The finalize method

The potential problem of an unfreed object or cursor can be avoided by consistently writing calls to the finalize method of an object. For objects that allocate memory beyond the standard memory that any X++ object needs, call finalize method when your program no longer needs the object.

Even when there MorphX editor displays the finalize method as being empty of code, your call to finalize can still help guarantee the reliable and timely release of resources.

Announcements: To see known issues and recent fixes, use Issue search in Microsoft Dynamics Lifecycle Services (LCS).