如何关闭容错堆? [英] How do I turn off the fault tolerant heap?
问题描述
我最近在启动应用程序时开始在Visual Studio 2005输出窗口中看到此行:
FTH:(7156):***容错堆填充程序应用于当前进程.这通常是由于先前的崩溃造成的. ***
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. ***
我尝试按照此处的说明关闭容错堆:
http://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx
I've tried turning off the fault tolerant heap using the instructions here:
http://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx
我正在运行Windows 7 64位版本,因此我对32位和64位注册表都进行了更改,并同时使用32位和32位运行"Rundll32.exe fthsvc.dll,FthSysprepSpecialize"命令位和64位版本的Rundll32.exe.
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?
推荐答案
为单个应用程序禁用它
转到以下版本的HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER版本 软件\ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers \ your_application.exe和 删除FaultTolerantHeap条目.
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 FaultTolerantHeap entry.