I'd like some technical information on how it works, and how I can disable or enumerate the Fault Tolerant Heap shims that are associated with processes that crash frequently. Is there a heuristic of some sort that Windows 7 uses to decide when to apply an FTH shim?
+1
A:
Fault Tolerant Heap is a layer over the heap that defends against common heap errors, such as heap overruns, double frees, and so on. To my knowledge, there is only one FTH shim - not multiple for each mitigation. http://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx describes how you can monitor if FTH is being enabled for an application via the event log.
I don't believe MS has published the exact heuristic that will enable the FTH, but yes, there is a heuristic.
Michael
2009-06-24 23:56:51
Today I also noticed a debug output string that shows FTH is being enabled for a process I was debugging:OutputDebugString FTH: (9556): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
Tim Lovell-Smith
2010-07-10 19:20:01