Как использовать симпатичные принтеры для отладки, чтобы увидеть собственные объекты в QtCreator?
Я пытаюсь увидеть содержимоесобственный вектор вМестные жители и выражения окноQtCreator:
Я вижу, что это вектор из 10 компонентов:
но когда я нажимаю на нее, я получаю:
Я пытался использоватьэтот скрипт, чтобы сделать трюк, Я сохранил его вместе с пустым__init__.py файл в папку~ / Scripts / Собственные и создал.gdbinit файл:
python
import sys
sys.path.insert(0, '/home/martin/Scripts/Eigen')
from printers import register_eigen_printers
register_eigen_printers (None)
end
Я перезапустилQtCreator и ничего не изменилось. Я проверилчитать .gdbinit при запуске " опция в настройках QtCreator и еще ничего.
Что меня беспокоит, так это то, что я знаю, что в прошлом просмотр собственных объектов работалбез меня вмешиваться в некоторые сценарии.
Пожалуйста, что я делаю не так?
Я использую:
gcc версия 4.8.1
Ubuntu 13.10
GDB 7.6.1-Ubuntu
Qt Creator 3.0.0
Основано на Qt 5.2.0
и я компилирую, используя эти флаги:
g++ -c -pipe -gdwarf-4 -fvar-tracking-assignments -g
-Wall -W -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG
РЕДАКТИРОВАТЬ:
как предложил @ggael, я попытался запуститьGDB напрямую:
(gdb) run
Starting program: /home/martin/Projects/TestGrounds/test
Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/i386-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
Traceback (most recent call last):
File "/usr/lib/debug/usr/lib/i386-linux-gnu/libstdc++.so.6.0.18-gdb.py", line 59, in
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
А потом:
(gdb) print vec
Python Exception 'map' object is not subscriptable:
Python Exception 'map' object is not subscriptable:
$1 = { = { = { = { = { = { = { = { = {}, }, }, }, }, }, },
m_storage = {m_data = 0x804e020, m_rows = 10}}, }
Пожалуйста, не могли бы вы объяснить, что это значит? Что такоеlibstdcxx?