Comment puis-je désactiver le tas de défauts tolérant?

j'ai récemment commencé à voir cette ligne dans ma fenêtre de sortie Visual Studio 2005 lors du lancement de mon application:

CINQUIÈME: (7156): *** tolérance de Pannes tas de cale appliquée à des processus en cours. C'est généralement dues à des accidents. ***

j'ai essayé d'éteindre le tas de défauts tolérant en utilisant les instructions here:

http://msdn.microsoft.com/en-us/library/dd744764(VS.85).aspx

J'exécute Windows 7 64-bit édition, donc j'ai fait les changements à la fois dans les registres 32 bits et 64 bits, et j'ai lancé le "Rundll32.exe fthsvc.dll, fthsysprepspecialize " commande utilisant à la fois les versions 32 bits et 64 bits de Rundll32.EXE.

cependant, après avoir redémarré, j'obtiens toujours le tas de tolérance de faute quand j'essaie de déboguer mon application!

C'est un vrai problème car il masque le bug que j'essaie de reproduire, et il tue aussi la performance.

quelqu'un a une autre suggestions comment désactiver le tas tolérant les défauts?

32
demandé sur sean e 2011-02-16 21:16:56

8 réponses

désactiver pour une application unique

allez aux versions HKEY_LOCAL_MACHINE et HKEY_CURRENT_USER de Logiciels \ Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\your_application.exe et supprimer L'entrée Faultolerantheap.

ici (en fait ici)

36
répondu Lars Truijens 2012-01-25 21:31:05

Définissez cette valeur de registre 0: HKEY_LOCAL_MACHINE\Software\Microsoft\FTH\Enabled

5
répondu Aaron Klotz 2011-05-10 20:16:28

Vous pouvez ajouter le nom de votre exécutable à la liste d'exclusion.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FTH\ExclusionList

Fonctionne pour moi.

4
répondu Joren Boulanger 2012-10-04 06:50:58

" Rundll32.exe fthsvc.dll, FthSysprepSpecialize" semble seulement effacer la liste des applications actuellement marquées. si votre application cause encore des bizarreries, la FTH devrait quand même intervenir et prendre le relais.

comme déjà mentionné:

définissez cette valeur de Registre à 0: HKEY_LOCAL_MACHINE\Software\Microsoft\FTH\Enabled

ceci devrait désactiver FTH pour l'ensemble du système.

1
répondu atlas 2012-11-16 20:51:46

j'ai aussi rencontré ça. Renommer / supprimer AcXtrnal.dll à L'intérieur de Windows\AppPatch semble fonctionner pour moi. J'aime la façon dont cette action recommandée par Microsoft (ce que J'ai fait en premier) ne fait rien.

0
répondu Dave McMordie 2011-07-13 02:03:42

j'ai dû renommer le fichier aussi parce que les entrées de Registre associées à cette clé étaient vides de données applicables. Je m'attends à ce qu'ils peuplent si vous avez une mauvaise application. Mais dans mon cas, je déboguais ma propre application au sein de Visual Studio. Donc dans ce cas, c'est mon processus qui était en quelque sorte en train de charger le FTH, que le Service FTH soit en cours ou non. Et en fait, je n'avais aucune liste d'applications qui étaient précédemment étiquetées comme mauvaises.

Mais j'ai dû suivez ces instructions:

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

parce qu'il ne me permettait pas de renommer le fichier jusqu'à ce que je prenne la propriété et m'assure d'avoir le contrôle total.

0
répondu user1904938 2013-04-19 16:40:12

j'ai eu un problème similaire lors de l'exécution d'un test unitaire en utilisant (Microsoft::VisualStudio::Cppunittestfram Framework). D'une façon ou d'une autre j'avais violé une certaine allocation de tas, et la prochaine fois que j'ai essayé de déboguer j'ai reçu le message : "tolérance de faute tas shim appliqué au processus actuel. C'est généralement dues à des accidents. "et l'environnement de débogage gelé.

pour le faire fonctionner à nouveau, j'ai dû supprimer le cas de test, recompiler et l'ajouter à nouveau et recompiler, puis je pouvais définir le point de rupture et entrer dans le test.

0
répondu serup 2018-08-24 08:40:39