#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!