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

Visual studio 2012 и Qt4.8.5: Как увидеть содержимое QString в режиме отладки.

Я использую visual studio 2012 и Qt4.8.5, к сожалению, я не вижу текстовую переменную QString, когда я работаю в режиме отладки. Есть ли у кого-нибудь подсказка? Модуль Qt4.8.5 для VS2012 не существует.

Большое спасибо

Ксавьер

4b9b3361

Ответ 1

Существует быстрое и ясное решение (родной MSVC, нет необходимости в плагинах или настройке .dat файлов), см. мой ответ отсюда

Скажите, что у вас есть QString str (Qt4), затем добавьте в окно просмотра отладчика:

((str).d)->array,su 

приложение ,su сообщает отладчику интерпретировать данные как строку в виде unicode и null terminated.

Примечание. Для Qt5 QString str это может быть

(char*)str.d + str.d->offset,su

Ответ 2

autoexp.dat не используется, если вы не установите для параметров отладчика значение "Включить собственное редактирование и продолжить"

вот моя реализация natvis QString для 4.8.5 (расширяет только первые 25 символов)

<Type Name="QString">
    <DisplayString>"{d->data,sub}"</DisplayString>
    <StringView>d->data,sub</StringView>
    <Expand>
        <Item Condition="d->size &gt;= 0" Name="[size]">d->size</Item>
        <Item Condition="d->size &gt; 0" Name="[referenced]">d->ref._q_value</Item>
        <ArrayItems Condition="d->size&lt;=25">
            <Size>d->size</Size>
            <ValuePointer>d->data,c</ValuePointer>
        </ArrayItems>
        <ArrayItems Condition="d->size&gt;25">
            <Size>25</Size>
            <ValuePointer>d->data,c</ValuePointer>
        </ArrayItems>
        <Item Condition="d->size&gt;25" Name="...">d->size - 25</Item>
    </Expand>
</Type>

по крайней мере qt4.natvis может сосуществовать с qt5.natvis, так как один или другой не удается правильно загрузить...

Ответ 3

Для меня, в Qt5 и Visual Studio 2012, я просто сделал это:

Параметры проекта → отладка → Тип отладчика → Установите из автоматического в смешанное.

Не отображаются строки в часах.

Ответ 4

Для Visual Studio 2015...

Инструменты > Параметры > Отладкa > Общие > Проверка "Использовать режим основной совместимости"