Как увидеть содержимое std :: map в Visual C ++ .NET (Visual Studio 2003) при отладке? - PullRequest
3 голосов
/ 05 апреля 2010

Мне нужно увидеть содержимое переменной std :: map во время отладки.Однако, если я щелкну по нему на вкладке Autos / Locals, я вижу специфические для реализации вещи, а не ключи и их содержимое, на которые я хочу посмотреть.Есть ли обходной путь, которого мне не хватает?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2010

У меня нет экземпляра Visual Studio 2003 для тестирования, но я только что проверил VS2008 и 2010, и оба автоматически отображают содержимое карты при наведении курсора. Я смутно помню, что у меня было много проблем с инспекцией STL в 2003 году, поэтому я предполагаю, что это особенность, которую они значительно улучшили за прошедшие годы.

Если это возможно для вашего проекта, вы можете рассмотреть возможность обновления до Visual C ++ 2008 Express, который является бесплатным и должен иметь большинство необходимых вам функций.

1 голос
/ 06 апреля 2010

У меня нет VS2003 поблизости в данный момент.Но вы можете попробовать добавить в «autoexp.dat» следующий раздел (я был уверен, что в VS2003 уже есть разделы для всех стандартных типов):

;------------------------------------------------------------------------------
;  std::map
;------------------------------------------------------------------------------

std::map<*>{
    children
    (
        #tree
        (
            head : $c._Myhead->_Parent, 
            skip : $c._Myhead, 
            size : $c._Mysize, 
            left : _Left, 
            right : _Right
        ) : $e._Myval
    )

    preview
    (
        #(
            "[", 
            $e._Mysize, 
            "](", 

            #tree
            (
                head : $c._Myhead->_Parent, 
                skip : $c._Myhead, 
                size : $c._Mysize, 
                left : _Left, 
                right : _Right
            ) : $e._Myval,

            ")"
        )
    )            
}

Структура этого файла и синтаксисправил autoexp может меняться от одного выпуска Visual Studio к другому.Прочитайте здесь подробнее о пользовательских визуализаторах для Visual Studio.

...