Как настроить Qt creator для отображения кодов c++, а не дизассемблера?

вчера я сделал много вещей, таких как обновление GCC,Clang и переустановка Qt Creator.Сегодня при отладке моих кодов шаг за шагом отладчик показывал дизассемблер, а не коды C++, которые я написал. Нажатие Ф10 или F11, отладчик двигался в дизассемблере не в .cpp, ни .h файлы, которые я написал. F11 может входить только в файлы библиотеки, но никогда в файлы, которые я написал.

стрелка появилась в дизассемблер: enter image description here

, а не в основной.СРР: enter image description here

Как настроить Qt Creator так, чтобы стрелка отладки отслеживала каждую строку в кодах c++?

4 ответов


Я столкнулся с очень похожей проблемой отладки кода, построенного с набором инструментов clang в qtcreator, и этот ответ исправил меня:

gdb не находит исходные файлы, скомпилированные clang++

вы можете быстро проверить, будет ли это решение работать для вас, перейдя к корню вашего решения в окне оболочки, а затем вызывая qtcreator оттуда...установите точку останова в main() и попробуйте отладку - если она останавливается и показывает источник в main.cpp, это вполне вероятно это проблема.

Если это работает для вас, есть, вероятно, несколько лучших способов реализовать постоянное решение, предложенное https://stackoverflow.com/users/1632219/rene, но метод, который работал для меня, состоял в том, чтобы изменить мой файл qmake mkspec для набора инструментов clang. В моей системе он живет в /usr/local/Trolltech/Qt-4.8.5/mkspecs/common / clang.conf, поэтому все, что мне нужно было сделать, это поместить скрипт вызова clang с "clang++" $ @ " в ~ / bin / clang-compile, а затем установить QMAKE_CXX в mkspec для Clang-компиляции. С этим изменением, когда выбран набор инструментов clang, сборки qmake создают файлы, которые используют Clang-compile вместо clang++ , а затем отладка работает везде.


наконец, я обнаружил, что это был лязг, который вызвал эту проблему. После изменения набора обратно на использование gcc он просто работал нормально. Но не уверен, что это ошибка Clang или что скрипт Qt, созданный для компиляции, имеет какие-либо проблемы. В любом случае, просто поставьте ответ здесь на случай, если кто-то еще может столкнуться с той же ситуацией.


для других, у которых также была эта проблема, но ни одно из решений выше не работало (как и я), я узнал, что проблема для меня просто происходит, потому что мой проект был внутри каталога со специальными символами (/home/fabio/criação/project) the criação папка, похоже, вызвала проблему. После того, как я перешел на /home/fabio/Desktop/project это не происходит.


Goto " справка - >о плагинах "и проверьте" ClangCodeModel " и перезапустите QT.

существует ошибка в версии Qt 5.6.1 (MSVC 2013, 32 бит) Qt Creator4.0.3. В режиме отладки поставьте точку останова. Затем нажмите шаг в(F11), он начнет отладку сейчас. Чтобы перейти к вашему коду, нажмите step-over (F10), пока не дойдете до кодовой страницы.

Я искал об этой проблеме, но ничего не получалось. Какое-то решение, я не понял. Это очень раздражает.