2017-08-09 2 views
0

Nous avons le problème que l'un de nos C++ des tests unitaires est à l'origine l'exception 0xC0000005 (du fichier dmp -> Le fil a essayé de lire ou d'écrire à un virtuel adresse pour laquelle il n'a pas l'accès approprié) right lorsqu'il exécute une signature de méthode (même le corps de la méthode n'est pas exécuté). enter image description hereComment augmenter la taille de la pile de vstest.executionengine.x86.exe

Ceci est suivi d'une exception de dépassement de pile. Je pense que c'est le problème réel. enter image description here

Existe-t-il un moyen d'augmenter la pile de vstest?

EDIT: Voici le minidump: minidump

+0

Vous feriez mieux de trouver la cause de la lecture de la mémoire qui ne devrait pas se produire. Essayez de l'affiner. – doctorlove

+1

Le dépassement de pile et la violation d'accès indiquent une présence de problèmes sérieux dans votre code. Vous devriez les corriger au lieu d'essayer d'augmenter la taille de la pile. – VTT

+0

Dans mon expérience sur d'autres systèmes, le 0xC00000xx suggère la tentative d'utilisation d'un pointeur non initialisé, pas un débordement de pile. –

Répondre

1

Vous pouvez consulter ce lien:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/d56d80e0-70f1-4ceb-b9ca-aed66e97a3d6/visual-studio-2012-unit-testing-native-c-crashes-due-to-stack-overflow?forum=vsunittest

Il dit:
vous pouvez essayer d'ajouter la clé REG_DWORD suivante:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\EnterpriseTools\QualityTools\Agent\MaximumTestThreadStackSize et puis définissez-le sur une valeur supérieure, par exemple 1000000 (decimal) pour vérifier le résultat.

+0

Merci, malheureusement, il n'a pas résolu le problème. Mais ce qui était également étrange, c'est que "EnterpriseTools \ QualityTools \ Agent \ MaximumTestThreadStackSize" n'existait même pas, j'ai dû créer les clés. – TowelDayGuy