Включить красивую печать в KDevelop C++

Я много искал, как включить красивую печать в KDevelop, но без надежды.

Я нашел эту ссылку и реализовал то, что там упоминалось. Затем в «конфигурации запуска» я добавил свой файл gdbinit как «скрипт конфигурации gdb». Но это не имеет никакого эффекта.

Он хорошо работал в старой версии KDevelop без каких-либо ручных настроек, но обновление моего Ubuntu до 14.04 и обновление KDevelop до версии 4.6.0 кажется ошибкой.

Есть идеи, как включить красивую печать в KDevelop?


person Islam Hassan    schedule 19.04.2014    source источник


Ответы (1)


Да, у меня была такая же проблема с Ubuntu 13.10 и KDevelop 4.5.1. Ниже я включил как проблему, так и решение.

Проблема:

Ubuntu 13.10 использует GDB 7.61, который читает сценарии красивого принтера Python3, но Ubuntu 13.10 поставляется со сценариями красивого принтера Python2. Ой!

Решение:

  • Во-первых, убедитесь, что у вас есть необходимый файл «.gdbinit» в вашей домашней папке — тот, на который ссылается ваша гиперссылка. Это сообщит GDB, где искать необходимые сценарии красивого принтера Python3. Само собой разумеется, вам, возможно, придется обновить путь в «.gdbinit». Мой, выглядит так:

    система импорта python

    sys.path.insert(0, '/usr/share/kde4/apps/kdevgdb/printers')

    импорт из qt4 register_qt4_printers
    register_qt4_printers (нет)

    импорт из kde4 register_kde4_printers
    register_kde4_printers (нет)

    импорт из libstdcxx register_libstdcxx_printers
    register_libstdcxx_printers (нет)

    конец

  • Теперь вам нужно использовать команду оболочки «2to3», чтобы преобразовать сценарии Python2 в сценарии Python3. Например:

    2to3 -w /usr/доля/kde4/приложения/kdevgdb/printers/qt4.py

    2to3 -w /usr/share/kde4/apps/kdevgdb/printers/libstdcxx.py

    Мне не нужно было конвертировать скрипт kde4.py: это уже был скрипт Python3.

    Примечание. На всякий случай сделайте резервную копию файлов сценария перед преобразованием — никогда не знаешь наверняка.

Вот и все, запускайте KDevelop и вперед...

На самом деле, вы можете использовать команду оболочки gdb, чтобы запустить GDB и убедиться, что все ваши сценарии Python относятся к версии 3: если вы не получили никаких ошибок чтения, значит, все в порядке. Если он генерирует ошибки чтения, просто преобразуйте эти скрипты.

К вашему сведению: чтобы выйти из GDB, просто введите «quit» и нажмите клавишу «Enter»: (gdb) quit

Дополнение:

Если в вашей системе нет файла libstdcxx.py, вам необходимо сделать следующее:

  • В папке, содержащей другие сценарии красивого принтера, создайте файл и назовите его libstdcxx.py.

  • Перейдите на следующую веб-страницу:

    http://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python/libstdcxx/v6/printers.py

    Теперь скопируйте содержимое веб-страницы и вставьте его в только что созданный файл libstdcxx.py.

    Поскольку этот файл исходит от gcc, это, скорее всего, скрипт Python3 - вам придется это увидеть.

person Dave    schedule 08.05.2014