Добавление Qt-источников в QtCreator 2.4.1

В настоящее время я использую QtCreator 2.4.1 с библиотеками разработки Qt 4.7.4 (в Ubuntu) и пытаюсь найти ошибку, которая после профилирования с valgrind, кажется, происходит внутри метода QGraphicsView:: paintEvent (...)

Чтобы помочь изолировать эту проблему, я хотел бы войти в источники Qt. Проделав некоторый поиск как с форумами Qt, так и с переполнением стека и не смог найти способ интеграции источников с моей версией QtCreator.

В настоящее время я пытаюсь загрузить источники через диспетчер QtSDK и добавить "Source Path Mapping" в Tools- > Options- > Debugger. Я уверен, что этот шаг - это то, где я делаю ошибку, поскольку я не могу даже переключиться на источник при просмотре внутренних заголовочных файлов Qt, то есть из QGraphicsView.h

Я до сих пор пытался добавить следующие сопоставления пути источника

Source Path=/var/tmp/qt-src TargetPath=/home/paul/QtSDK/QtSources/4.7.4

и

Source Path=/var/tmp/qt-src TargetPath=/home/paul/QtSDK/QtSources/4.7.4/src

Ничего не работает.

Я также попытался построить Qt напрямую из исходного кода, добавив его в список "Qt-версий" в Qt Creator и создав новую конфигурацию проекта с использованием этой версии. Это также не сработало.

Аналогично, я попытался добавить папки src в файл gdbinit. Это также не работает.

Я полностью потерял это.

Пол

Ответ 1

Кто-то задал аналогичный вопрос здесь: Необходимо войти в Qt-источники (моя IDE - Qt Creator).

Кто-то еще спросил о ошибках Valgrind с Qt здесь: Файлы подавления утечек памяти Qt с Valgrind

И вот немного больше информации о Использование Valgrind с Qt Creator, а также некоторое объяснение того, как читать результаты. Его немного датировано с конца 2010 года.

Похожие предложения

  • Я бы не отлаживал класс QGraphicsView только из-за всех усилий, чтобы заставить его работать, или найти проблему может быть зря... Qt переходит к использованию SceneGraph в качестве backend для QML, а механизм рендеринга для QGraphicsView может устареть.

  • Обновление до последней стабильной сборки библиотек Qt может иметь большое значение для QGraphicsView.

  • Если вы опубликуете ошибку valgrind, вы попадаете в Qt Trolls, кто-то может объяснить, что происходит для тебя.

  • Помимо традиционного отладчика существуют другие методы отладки. Я программировал в Qt в Windows (без valgrind) и с большим многопоточным приложением, которое загружает кучу Dll. Я должен был поместить некоторую веру в Object Tree Model для очистки и работы со всеми вызовами new, которые я вставлял. Большинство время, когда я просто использую QDebug для поиска ошибок. Затем я также использую комбинацию qInstallMessageHandler() с QDebug, чтобы реализовать приличную регистрацию для трудного отслеживания ошибок.

См. также Методы отладки Qt.