2011-02-16 33 views
29

Recientemente comencé a ver esta línea en mi ventana de resultados de Visual Studio 2005 al iniciar mi aplicación:
FTH: (7156): *** Cuchilla de pila tolerante a fallas aplicada al proceso actual. Esto generalmente se debe a bloqueos previos. ***¿Cómo desactivo el montón tolerante a errores?

He intentado apagar el montón tolerante a fallos siguiendo las instrucciones aquí:
http://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx

Estoy utilizando Windows 7 edición de 64 bits, por lo que han hecho los cambios tanto a la Registros de 32 bits y de 64 bits, y ejecute el comando "Rundll32.exe fthsvc.dll, FthSysprepSpecialize" utilizando las versiones de 32 bits y 64 bits de Rundll32.exe.

Sin embargo, después de reiniciar sigo obteniendo el montón tolerante a errores al intentar depurar mi aplicación.

Esto es un problema real ya que enmascara el error que estoy tratando de reproducir, y también mata el rendimiento.

¿Alguien tiene alguna otra sugerencia sobre cómo deshabilitar el montón tolerante a errores?

Respuesta

5

Ajuste este valor del registro en 0: HKEY_LOCAL_MACHINE\Software\Microsoft\FTH\Enabled

0

también corrió en esto. Renombrar/eliminar AcXtrnal.dll dentro de Windows \ AppPatch parece funcionar para mí. Me gusta cómo esta acción recomendada de Microsoft (que hice primero) no hace nada.

1

"Rundll32.exe fthsvc.dll, FthSysprepSpecialize" parece que solo borra la lista de las aplicaciones actualmente marcadas. si su aplicación todavía causa rarezas, el FTH aún debe intervenir y asumir el control.

como ya se ha mencionado:

Ajuste este valor del registro a 0: HKEY_LOCAL_MACHINE\Software\Microsoft\FTH\Enabled

esto debe desactivar FTH para todo el sistema.

34

para desactivarlo para una sola aplicación

Ir a la clave HKEY_LOCAL_MACHINE y HKEY_CURRENT_USER versiones de Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Capas \ your_application.exe y eliminar la entrada FaultTolerantHeap.

De here (en realidad here)

+3

Esta solución funciona para mí, pero solo necesitaba eliminar el FTH de HKEY_LOCAL_MACHINE. –

+0

Esto solo lo apaga una vez que ha sido habilitado. No impide que vuelva a habilitarse, que es lo que realmente se necesita ... –

4

Puede añadir el nombre de su ejecutable a la ExclusionList.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FTH\ExclusionList 

Funciona para mí.

+0

Esta solución no funcionó para mí. ¿Agregaste la ruta completa de tu ejecutable? o solo el nombre ejecutable? –

0

Tuve que cambiar el nombre del archivo también porque las entradas de registro asociadas con esta clave estaban vacías de datos aplicables.Espero que se llenen si tienes una aplicación que no funciona bien. Pero en mi caso estaba depurando mi propia aplicación dentro de Visual Studio. Entonces, en ese caso, fue mi proceso el que de alguna manera cargó el FTH si el servicio FTH se estaba ejecutando o no. Y, de hecho, no he enumerado ninguna aplicación que haya sido etiquetada anteriormente como portadora de errores.

Pero tenía que seguir estas instrucciones:

http://billroper.livejournal.com/960825.html

porque no me dejaba cambiar el nombre del archivo hasta que tomó la propiedad y se aseguró de que tenía el control total.

Cuestiones relacionadas