Могу ли я настроить autoexp.dat для включения визуализации QT QDomNode в отладчике Visual Studio 2010

#visual-studio-2010 #qt #debugging

#visual-studio-2010 #qt #отладка

Вопрос:

Мы занимаемся разработкой QT в Visual Studio 2010. Я хотел бы иметь возможность видеть содержимое переменной QDomNode в отладчике Visual Studio.

Можно настроить отображение переменных в отладчике Visual Studio, настроив файл autoexp.dat. Надстройка QT для Visual Studio добавляет множество настроек в autoexp.dat, которые позволяют просматривать соответствующую информацию для классов QT, и существует ряд обсуждений по настройке autoexep.dat, которые включают настройку для QDomNode, которые, по-видимому, происходят из этой записи в блоге Даниэля Альбушата «Отладка QT с Visual Studio 2005«. Однако QDomNode по-прежнему не виден мне даже с описанными изменениями в autoexp.dat.

Я заметил, что QDomNode использует переменную-член QDomNodePrivate* impl в качестве PIMPL, чтобы скрыть свои элементы данных. Это похоже на указатель «d», обычно используемый в QT, особенно в QString, который способен корректно просматривать данные… Любые указания были бы оценены…

Ответ №1:

Простой предварительный просмотр был бы:

 QDomNode|*::QDomNode{
    preview         ($e.impl->name)
}
  

Но на самом деле это не работает, потому что отладчик может видеть структуру impl только тогда, когда она находится «внутри» qdom.cpp который содержит определение QDomNodePrivate. Вы можете протестировать это, перейдя в какой-либо метод QDom. Одним из «хакерских» решений было бы скопировать определение класса QDomNodePrivate в какой-нибудь заголовочный файл, который вы включаете в свою программу.

И не забывайте: вы должны быть администратором, чтобы успешно редактировать autoexp.dat!