How do I turn off the fault tolerant heap?

MJW picture MJW · Feb 16, 2011 · Viewed 32.6k times · Source

I've recently started seeing this line in my Visual Studio 2005 output window when launching my application:
FTH: (7156): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***

I've tried turning off the fault tolerant heap using the instructions here:
http://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx

I'm running Windows 7 64-bit edition, so I have made the changes to both the 32-bit and 64-bit registries, and run the "Rundll32.exe fthsvc.dll,FthSysprepSpecialize" command using both the 32-bit and 64-bit versions of Rundll32.exe.

However, after rebooting I am still getting the fault tolerant heap when trying to debug my application!

This is a real problem since it masks the bug I am trying to reproduce, and it also kills performance.

Does anyone have any other suggestions how to disable the fault tolerant heap?

Answer

Lars Truijens picture Lars Truijens · Jan 25, 2012

To disable it for a single application

Go to the HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER versions of Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\your_application.exe and delete the Fault­Tolerant­Heap entry.

From here (actually here)