gdb — включить симпатичную печать в переполнении стека KDevelop

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

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

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

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

3

Решение

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

Проблема:

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

Решение:

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

    питон
    импорт системы

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

    из qt4 import register_qt4_printers
    register_qt4_printers (нет)

    из kde4 import register_kde4_printers
    register_kde4_printers (нет)

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

    конец

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

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

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

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

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

Вот и все, что нужно сделать, запустить KDevelop и вы уходите …

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

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

Приложение:

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

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

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

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

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

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

2

Другие решения


По вопросам рекламы [email protected]