views:

1053

answers:

1

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
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