Подтвердить что ты не робот

Визуальный визуализатор Visual С++?

Как Visual Studio отображает элементы вектора или символы строки в С++? Есть ли способ заставить меня показать свои собственные классы по-своему?

4b9b3361

Ответ 1

http://msdn.microsoft.com/en-us/library/zf0e8s14(v=VS.100).aspx

Для собственного кода вы можете добавить в файл специальные расширения типов данных autoexp.dat, который находится в программных файлах \Microsoft Visual Studio 10.0\Common7\Packages\Debugger. Инструкции о том, как для написания правил autoexp находятся в самом файле.

Для этого класса:

template<class T>
struct  auto_array {
     T* data;
     int Len;
};

autoexp.data может выглядеть так:

auto_array<*> {
    children
    (
        #array
        (
            expr :      $e.Data[$i],
            size :      $e.Len
        )
    )
    preview
    (
        #(
            "[", $e.Len , "](",
            #array
            (
                expr :  $e.Data[$i],
                size :  $e.Len
            ),
            ")"
        )
    )
}

KindDragon сообщает, что Visual Studio 2012 использует новый формат файла: natvis

Ответ 2

Вы можете добавить в файл autoexp.dat визуализаторы для настраиваемых типов С++. Формат, используемый в файле и местоположении, изменяется от версии к версии Visual Studio, но если вы используете Google для autoexp.dat, вы должны найти некоторые примеры того, как его настроить.