2010-02-24 2 views
8

J'ai un petit problème lors du débogage de mon App dans VS 2010 RC quand je veux voir tous les éléments du conteneur std :: map. Lorsque le débogueur atteint le point d'arrêt et que je veux vérifier les valeurs de la carte dans l'inspecteur des éléments (dans les fenêtres Locales et dans les fenêtres contextuelles après avoir placé le nom de la variable avec la souris) et défiler vers le bas la liste des éléments qu'il arrête sur l'élément 100 et je ne peux pas les éléments suivants. La carte contient plus de 200 éléments (le paramètre du compteur de la carte le montre correctement) mais je ne peux pas les voir tous dans l'inspecteur d'éléments.VS2010 RC - seulement 100 éléments std :: map dans le débogueur

Le problème apparaît même dans le plus simple std::map<int, int> rempli de 200 valeurs int.

Peut-être que c'est un problème avec les paramètres, mais j'ai essayé plusieurs combinaisons d'entre eux et cela ne fonctionne toujours pas. Peut-être que quelqu'un a des idées pour résoudre ce problème.

Merci d'avance pour votre aide.

+0

Je suppose que c'est juste une limitation du débogueur. Ils ont probablement choisi d'avoir des limites supérieures, alors pour les structures de données vraiment grandes, il ne s'agit pas seulement de ce qui semble être pour toujours. –

+0

Pour ce cas particulier, ne pourriez-vous pas simplement déboguer le mode démodé et imprimer le contenu de la carte dans stdout ou un fichier? Ce n'est que quelques lignes de code, et ne sera probablement qu'un travail ponctuel. –

+1

Signaler le problème avec Microsoft (https://connect.microsoft.com/) si vous pensez qu'il doit être adressé. – Max

Répondre

3

L'affichage de ces informations est dirigé par le fichier autoexp.dat (généralement situé dans "Program Files *" \ "Microsoft Visual Studio *" \ Common7 \ Packages \ Debugger). Il semble que Microsoft a ajouté une limitation codée en dur de 100 éléments à l'opérateur #tree, afin d'éviter de geler Visual Studio en cas de boucles dans l'arborescence.

+0

Sur VS 2008, il y a aussi une limite: la chaîne de valeur est limitée à environ 400 caractères, en terminant par ... pour indiquer qu'il y a plus de valeurs. – plodoc

3

Avec VS 2010 SP1, cette limite a été augmentée à une valeur par défaut de 2 000 entrées. Cela peut également être modifiée en définissant une clé de Registre (tous les avertissements standards sur la modification du registre applicable ici):

  • pour x86: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 10.0 \ NativeDE \ VisualizerMaxChildren
  • pour x64: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ VisualStudio \ 10.0 \ NativeDE \ VisualizerMaxChildren

Scot Brennecke, ingénieur Escalation Microsoft VC Soutien

Questions connexes