VS2010 RC - только 100 элементов std :: map в отладчике - PullRequest
8 голосов
/ 24 февраля 2010

У меня небольшая проблема во время отладки моего приложения в VS 2010 RC, когда я хочу увидеть все элементы контейнера std :: map.

Когда отладчик достигает точки останова, и я хочу проверить значения карты в инспекторе элементов (в окнах 'Locals' и во всплывающих окнах после наведения имени переменной также с помощью мыши), и я прокручиваю вниз список элементов останавливается на элементе 100, и я не могу следующие элементы. Карта содержит более 200 элементов (параметр счетчика карты показывает это правильно), но я не могу просмотреть их все в инспекторе элементов.

Проблема возникает даже в самом простом std::map<int, int>, заполненном 200 значениями типа int.

Может быть, это проблема с настройками, но я перепробовал много их комбинаций, и она все еще не работает. Может быть, у кого-то есть идеи, как это решить.

Заранее благодарю за помощь.

Ответы [ 2 ]

3 голосов
/ 14 апреля 2011

В VS 2010 SP1 этот предел был увеличен до значения по умолчанию 2000 записей. Это также можно изменить, установив ключ реестра (здесь действуют все стандартные предупреждения об изменении реестра):

  • для x86: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 10.0 \ NativeDE \ VisualizerMaxChildren
  • для x64: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ VisualStudio \ 10,0 \ NativeDE \ VisualizerMaxChildren

Скот Бреннеке, инженер по эскалации Поддержка Microsoft VC ++

3 голосов
/ 25 февраля 2010

Отображение такой информации направляется файлом autoexp.dat (обычно находится в «Program Files *» \ «Microsoft Visual Studio *» \ Common7 \ Packages \ Debugger). Похоже, что Microsoft добавила жестко закодированное ограничение в 100 элементов к оператору #tree, чтобы избежать зависания Visual Studio в случае циклов в дереве.

...