Содержимое PyString в отладчике Qt Creator?
-
19-09-2019 - |
Вопрос
У меня есть объект PyString*, содержимое которого я хотел бы увидеть.Есть ли способ просмотреть текст PyString с помощью отладчика Qt Creator?
PyObject *import_str = PyString_InternFromString("__import__");
Если это имеет значение, Qt Creator является интерфейсом GDB.
Решение
Вы можете записать информацию об отладке, которая будет отображаться в QtCreator для любого класса, используя Python с последней версией QtCreator.На самом деле это довольно просто.Это благодаря GDB 7, в который добавлена поддержка Python в дополнение к C++.
Вы можете увидеть те, которые поставляются с QtCreator, в /usr/share/qtcreator/gdbmacros
.
Для получения дополнительной информации вы можете проверить документацию QtCreator и это сообщение в блоге от Qt Labs.
Другие советы
Я сомневаюсь, что Qt Creator сможет отображать содержимое строки так, как это происходит с QString
, и т. д.Это потому что PyObject
— это специальный класс, с которым Qt Creator/gdbv не знает, как обращаться.
Например: QString
также является пользовательским классом, но Qt Creator загружает некоторые специальные команды/модули/что угодно, что позволяет напрямую отображать строковые значения в отладчике.
Я никогда этого не делал, но думаю, что есть способы заставить gdb передавать правильную информацию в Qt Creator.