Настройка симпатичной печати GDB в Ubuntu 13.10

Я попытался настроить красивую печать GDB (для более легкой работы со стандартными контейнерами) в соответствии с этим ответом . Вместо того, чтобы использовать код симпатичных принтеров Python из SVN, я использовал те, которые поставляются с Ubuntu . После прохождения остальной части процесса я запустил следующее сообщение об ошибке при запуске gdb:

For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "/home/nietaki/gdb_printers/python/libstdcxx/v6/printers.py", line 54
    raise ValueError, "Cannot find type %s::%s" % (str(orig), name)
                    ^
SyntaxError: invalid syntax
/home/nietaki/.gdbinit:6: Error in sourced command file:
Error while executing Python code.

После более глубокого изучения проблемы я обнаружил, что коренная причина лежит глубже - Python 3, используемый в gdb, несовместим с симпатичными принтерами libstdc ++ .

У кого-нибудь есть функциональный обходной путь для этого? На данный момент я застрял с (также полезными, но не такими функциональными) помощниками Дана Маринеску: http://www.yolinux.com/TUTORIALS/GDB-Commands.html#STLDEREF

8
задан 23 May 2017 в 15:39

1 ответ

Кажется, проще всего настроить обычные принтеры как обычно, но затем преобразовать printers.py в python3, используя 2to3:

2to3 printers.py -w

Я только кратко протестировал его, но, похоже, он работает хорошо.

0
ответ дан 23 May 2017 в 15:39

Другие вопросы по тегам:

Похожие вопросы: