2015-02-26 1 views
1

Я попытался настроить довольно-печатную версию с помощью gdb для STL: http://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/ и запускал ее в соответствии с инструкциямиGDB pretty printing: Python Exception <type 'exceptions.LookupError'> нет функций поиска кодеков, зарегистрированных: не удается найти кодировку

и фиксировал вопросы питона в соответствии с инструкциями по адресу: GDB pretty printing ImportError: No module named 'printers'

Теперь нет ошибки при поиске в gdbinit file.

, но я застрял со следующим error, при попытке напечатать Multimap:

(GDB) р mymMap

Python Exception <type 'exceptions.LookupError'> no codec search functions registered: can't find encoding: 

Python Exception <type 'exceptions.LookupError'> no codec search functions registered: can't find encoding: 

$ 1 =

Любые намеки о том, как решить эту проблему?

1) попытался добавить импорт кодеков до следующего STMT в gdbinit:

from libstdcxx.v6.printers import register_libstdcxx_printers 

2) Модуль кодеков существует в питоне установке

version info: 
gdb version - 7.5.1; 
python in gdb - 2.6.5 
+0

Используйте 'set python print-stack full' и повторите попытку. Затем посмотрите, содержит ли полная трассировка стека дополнительную информацию. Мне кажется, что что-то не так с вашей установкой Python. –

+0

спасибо Том; Я просто получаю сообщение о том, что функция поиска кодека не зарегистрирована. и я могу импортировать его из приглашения gdb, вызвав python; поэтому установка python может быть прекрасной? – user3443184

+0

полный текст из командной строки: точка останова 1, FUN1 (xxx = 8, LookupError: нет функций поиска кодеков: не удается найти кодировку YYY = Traceback (последний последний звонок): Файл «XXXXXXXXXX/python/libstdcxx/v6/printers.py ", строка 687, в to_string ptr = self.val ['_M_dataplus'] ['_ M_p'] LookupError: нет зарегистрированных функций поиска кодеков: не удается найти кодировку , createNewModel = 1) в My_file : 1629 1629 строки XXXXX = ли-ли (GDB) питон > импорт кодеки > печать кодеки .__ FILE__ > /path/Python-2.6.5/lib/python2.6/codecs.pyc – user3443184

ответ

1

Я могу заставить его работать. В моем приложении используются C++ и python. Следовательно, моя среда всегда содержит параметр PYTHONHOME/PATH, который был другой версией python, чем python, используемый для установки gdb. Я повторно отказался от gdb с точно таким же питоном, и теперь он работает нормально. Спасибо за подсказку, Том.