如何关闭容错堆? [英] How do I turn off the fault tolerant heap?

查看:484
本文介绍了如何关闭容错堆?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近在启动应用程序时开始在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 Fault­Tolerant­Heap entry.

此处(实际上是 查看全文

登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆