2017-02-03 7 views
1

Для того, чтобы сделать затмение отладки с симпатичной печатью я последовал ответ, который был дан на этот вопрос:
Ubuntu 14.04, gcc 4.8.4: gdb pretty printing doesn't work because of Python issue
Однако я вставил команду внутри ~/.gdbinit, и это не сработало. Запустив .gdbinit с sh -x, я получил это сообщение Синтаксическая ошибка: «(« неожиданно. Это, по-видимому, ошибка bash в корреляции с командой python. Каждое решение, которое я искал и пытался, не устранило проблему (например, использовать одиночные кавычки или без них или использовать #!/usr/bin/python или #!/usr/bin/env python в начале файла). У кого-нибудь есть идея, как с этим справиться?Ubuntu 16.04, GCC 6: GDB 7,11 довольно печать в Eclipse, не работает

+0

Почему вы решили запустить .gdbinit с помощью sh -x? Не делай этого. – ks1322

+0

@ ks1322 Я просто запускаю его таким образом, чтобы увидеть, что с командой что-то не так. Тот же результат я получил, когда я запускаю команду в терминале. – dk13

+0

.gdbinit не может управляться оболочкой. Он содержит команды gdb. Можете ли вы добавить свой .gdbinit в свой вопрос? У вас установлен Python? И btw, для Ubuntu 16.04 соответствующий путь был бы/usr/share/gcc-5/python. – dbrank0

ответ

1

Чтобы включить довольно печать на убунту 16.04 (GCC по умолчанию, GDB) требуется скрипт:

python 
sys.path.insert(0, '/usr/share/gcc-5/python') 
from libstdcxx.v6.printers import register_libstdcxx_printers 
register_libstdcxx_printers (None) 
end 

Вы, вероятно, понадобится GCC-6 там

.

После этого вам нужно ввести полный путь к приведенному выше сценарию в поле вкладки отладчика отладки конфигурации eclipse «командный файл gdb» и применить это изменение. eclipse debug configuration dialog

После этого можно запустить эту конфигурацию отладки и изучить контейнеры в представлении переменных.

Для справки, here - это CDT FAQ, объясняющий это.

+0

Большое спасибо. Это сработало. – dk13