Я использую Ubuntu 13.10, Eclipse Kepler Service Release 1, GDB 7.6.1-ubuntu и последний CDT, доступный через Eclipse «установить новое программное обеспечение». Я следил за инструкциями, размещенными на нескольких сайтах, чтобы настроить симпатичную печать для контейнеров STL.Eclipse CDT prettyprint broken
Поскольку это не сработало, следуя другим инструкциям, я изменил printers.py, чтобы получить максимальную длину строк до 100 и отформатировал все значения ValueError, «...», чтобы повысить ValueError («... «).
Мой файл .gdbinit является следующие:
python
import sys
sys.path.insert(0, '/home/fbence/stlPrettyPrinter')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
Мои настройки таковы:
http://fbence.web.elte.hu/setup.png
Если я иду к кнопке отладки это моя конфигурация набора, как первый, и похоже, тоже его использует (иначе мне не пришлось бы менять принтеры.py, я думаю), но отладка как ... пуста.
ГПБ следы есть подобные сообщения:
193.677 36^ошибка, сообщ = «Не удалось получить детей итератор».
193674 35^Молодцы, имя = "var5", numchild = "0", значение = "{статические НСС =, _M_dataplus = {> = {< __ \ gnu_cxx :: new_allocator> = {},}, _M_p = 0x0}}», тип = "станд :: стри \ нг", поточно-ID = "1", displayhint = "строка", динамическая = "1", has_more = "0"
Это является выход:http://fbence.web.elte.hu/eclipseproblem.png
Использование GDB из терминала приводит следующий вывод, когда я хочу, чтобы напечатать простой вектор:
Python Exception <class 'TypeError'> iter() returned non-iterator of type '_iterator':
$3 = std::vector of length 6, capacity 16
Очевидно, что мой вопрос: как мне исправить это? Без особого отпечатка я бы скорее отлаживал под окнами, но я действительно не хочу этого делать :)
Отличная работа печати в командной строке gdb без Eclipse? – ks1322
Я отредактировал вопрос, короткий ответ - нет :) – fbence