Configurando a impressão bonita do GDB no Ubuntu 13.10

8

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

    
por nietaki 09.01.2014 / 23:01

1 resposta

8

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.

    
por dshepherd 10.03.2014 / 13:16

Tags