Visual C ++ 2010 vector debug - содержимое не отображается - PullRequest
5 голосов
/ 28 декабря 2011

Когда я пытаюсь получить доступ к вектору в отладчике VC ++ 2010, доступны только элементы «_M_start», «_M_end» и «_M_end_of_storage».Пример снимка экрана выглядит следующим образом:

Vector debug issue example

Я помню, как некоторое время назад я мог получить доступ к фактическому содержимому вектора, но долгое время это не имело место (яЯ был в состоянии жить с этим некоторое время).Есть какая-то особая настройка / функция, которую я случайно отключил или я что-то упустил полностью?

1 Ответ

2 голосов
/ 29 декабря 2011

Известно, что VS IDE не может отображать отладочную информацию о контейнерах STL, которые не принадлежат Microsoft STL.У меня была такая же проблема при использовании библиотеки STLPort.

, но вы все равно можете использовать часы для изучения содержимого вектора, это было бы просто утомительно.Вы можете получить доступ к элементам вектора, используя подход индексации массива через член _M_start.Добавьте к своим часам

meshEdges._M_start[0]

После этого вы сможете увидеть содержимое первого элемента вектора.Не существует простого способа исследовать / просмотреть все элементы вектора, вам придется повторять его самостоятельно, но это все же что-то.

Вы можете прочитать больше в этой ссылке http://umairsaeed.com/2009/11/23/visualizing-stlport-data-structures-in-visual-studio-debugger.В нем описывается, как добавить вышеуказанные «знания» в компонент VS IDE Watch.Я не уверен, что он актуален для вашего компилятора VS2010, но вы можете изучить его сами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...