A correção mais fácil parece ser configurar as impressoras bonitas como normais, mas depois converter printers.py
em python3 usando 2to3:
2to3 printers.py -w
Eu só testei isso brevemente, mas parece funcionar bem.
Eu tentei configurar a impressão bonita do GDB (para um trabalho mais fácil com contêineres padrão) de acordo com este anwer . Em vez de usar o código de impressoras bonitas do python do svn, usei aquelas que envie com o ubuntu . Depois de passar pelo resto do processo, acabei com a seguinte mensagem de erro ao lançar o 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.
Depois de analisar um pouco mais o problema, descobri que a causa raiz é mais profunda - Python 3 usado no gdb é incompatível com as impressoras bonitas da libstdc ++ .
Alguém tem uma solução funcional para isso? Por enquanto eu estou preso com os ajudantes (também úteis, mas não tão funcionais) de Dan Marinescu: link
A correção mais fácil parece ser configurar as impressoras bonitas como normais, mas depois converter printers.py
em python3 usando 2to3:
2to3 printers.py -w
Eu só testei isso brevemente, mas parece funcionar bem.