J'ai mon application (VC MFC) exécutée avec gflags avec Pageheap activé pour traquer la corruption de tas de page.CSocket :: Créer une exception de lancement dans mon application MFC
Maintenant, l'application est tombé en panne et il montre cette erreur, je ne pouvais pas interpréter ces lignes (autres que d'avoir une idée de inavailablity des ressources)
Quelqu'un peut-il jeter une lumière sur ce qui est la raison exactement qui a causé la crash de l'application?
(info: L'application est un multithread environ 500 threads en cours d'exécution, dans un environnement multi - machine à processeur)
kernel32!RaiseException+53
msvcrt!_CxxThrowException+36
mfc42u!AfxThrowResourceException+19
mfc42u!AfxRegisterWndClass+ab
mfc42u!CAsyncSocket::AttachHandle+5c
mfc42u!CAsyncSocket::Socket+25
mfc42u!CAsyncSocket::Create+14
Oui page tas exige plus de mémoire, mais ce que nous voulions est le point d'injection de corruption du tas. si nous faisons fonctionner notre appln dans cette condition chargée, l'application se bloque. Voici un autre point de plantage, de nombreux cas, il a planté dans cet endroit particulier, à condition que nous courons l'application dans une machine haut de gamme (8 core & 4 Go RAM) mfc42u! CFixedAlloc :: Alloc + 5c mfc42u! CString :: AllocBuffer + 25 mfc42u! CString :: CString + 3e WP_Communications_Server! CWPGenericService :: AddToMessageLog + b9 Une idée? nous sommes coincés dans ce problème pendant plus de 2 semaines. – buddingspacer
Avez-vous besoin d'un plein Page, ou pourriez-vous essayer avec Normal, par http://support.microsoft.com/kb/286470? Étant donné que votre tas est corrompu, il risque de planter n'importe où. Vous n'avez jamais répondu à ma question. Y a-t-il une chance de réduire la quantité de threads en cours d'exécution pour conserver les ressources pendant le test? Ou le comportement n'augmente-t-il que lorsque 500 threads sont en cours d'exécution? –