Обычно взаимодействие между Qt Creator и отладчиком настраивается автоматически и от вас не потребуется никаких действий. Тем не менее у вас может быть установлена неподдерживаемая версия gdb, ваше окружение Linux может не содержать gdb вообще, или вы можете захотеть использовать Debugging Tools for Windows.
Замечание: Для использования Debugging Tools for Windows, вы должны установить их и добавить Symbol Server, предоставляемый Microsoft, в путь поиска символов отладчика. Для получения дополнительной информации смотрите Настройка Symbol Server в Windows.
Этот раздел описывает возможности по отладке кода C++ и предоставляет заметки о установке поддерживаемых отладчиков.
Поддерживаемые версии отладчиков
Подключаемый модуль отладчика поддерживает различные сборки отладчика gdb, с возможностью использовать скрипты на Python и без неё. Версии с поддержкой Python более предпочтительны, но они не доступны для Mac и старых версий Linux. На Windows, Symbian и Maemo поддерживается только версия с Python.
Версии без поддержки Python используют компилируемые версии помощников отладчика которые вы должны включать отдельно. Для получения дополнительной информации смотрите Помощники отладчика на C++.
Версия с поддержкой Python использует версию помощников отладчика, написанных на скриптах, поэтому вам не потребуется дополнительная настройка.
Отладчик CDB имеет аналогичную функциональность отладчику gdb без поддержки Python. Он использует код C++ для библиотеки помощников отладчика.
Следующая таблица описывает поддерживаемые отладчики для кода C++:
Платформа
Компилятор
Отладчик
Python
Режимы отладчика
Терминал, Простой, Подключённый (только с Python), Удалённый
Терминал, Простой, Подключённый, Удалённый
Терминал, Простой, Подключённый
Терминал, Простой, Подключённый, Удалённый
Microsoft Visual C++ Compiler
Debugging Tools for Windows/CDB
Терминал, Простой, Подключённый, Post-Mortem
Установка отладчиков
Есть несколько разных причин почему подключаемый модуль отладчика не сможет автоматически выбрать подходящий отладчик. Отладчик может отсутствовать (что чаще всего случается с CDB на Windows, который всегда требуется устанавливать пользователю вручную) или установленная версия может не поддерживаться. Для ознакомления с поддерживаемыми версиями и другой важной важной информацией об установке отладчиков смотрите таблицу ниже.
Отладчик
Замечания
На Linux установите версию 6.8, 7.0.1 (версия 7.0 не поддерживается), 7.1 или более позднюю. На Mac OS X установите Apple gdb версии 6.3.50-20050815 (сборка 1344) или позже.
Debugging Tools for Windows
Использование этого отладчика требует установку пакета Debugging Tools for Windows 32-bit или 64-bit (версии 6.11.1.404 для 32-bit или 64-bit версии Qt Creator соответственно), который доступен для свободного скачивания с Microsoft Developer Network.
Замечание: Visual Studio не включает требуемые Debugging Tools, и поэтому вы должны установить их отдельно.
Собранная версия Qt SDK for Windows будет использовать эту библиотеку если она присутствует в системе. При ручной сборке Qt Creator с использованием компилятора Microsoft Visual C++, процесс сборки ищет требуемые файлы в "%ProgramFiles%\Debugging Tools for Windows".
Настоятельно рекомендуется добавить Symbol Server, предоставляемый Microsoft, в путь поиска символов отладчика. Symbol Server обеспечивает вас отладочной информацией для библиотек операционной системы при отладке приложений Windows. Для получения дополнительной информации смотрите Настройка Symbol Server в Windows.
Инструменты отладки для Mac OS X
Бинарная поставка Qt содержит отладочный и релизный варианты библиотек. Но если вы непосредственно укажите линковщику что вы хотите использовать отладочные библиотеки даже если ваше приложение скомпилировано как отладочное и релизное, библиотекой по умолчанию будет использована отладочная библиотека.
Если в Qt Creator вы используете проекты основанные на qmake, вы можете установить флаг в вашей конфигурации запуска в режиме Проекты. В конфигурации запуска выберите Use debug version of frameworks.
Для получения более подробной информации об отладке на Mac смотрите: http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html
Замечание: В Mac OS X Snow Leopard (10.6) есть ошибка, которую можно обойти способом, описанным здесь: http://bugreports.qt.nokia.com/browse/QTBUG-4962.
Настройка Symbol Server в Windows
Добавите Symbol Server, предоставляемый Microsoft, в путь поиска символов отладчика для получения отладочной информацией для библиотек операционной системы при отладке приложений Windows.
Выберите Инструменты >Параметры. >Отладчик >Cdb.
В поле Пути к символам откройте меню Вставить. и выберите Сервер символов. .
Выберите каталог где вы хотите хранить кэшируемую информацию и нажмите OK.
Используйте подкаталог во временной директории, например, C:\temp\symbolcache.
Замечание: Заполнение кэша может потребовать много времени на медленных соединениях.
Замечание: При первой отладке с Debugging tools for Windows, Qt Creator попросит у вас добавить Symbol Server.
Отладчик не задан
Отладчик не задан в Qt Создаю новый проект «С использованием чистого C++» в Qt Creator. Запускаю компиляцию и . Пишет.
Отладка не запускается: «Отладчик не задан» Собственно, установил qt комплектом с qt.io, проект выполняется в обычном режиме, но отладку.
Отладчик Нужно что бы программа остановила выполнение при достижении счетчика определенного значения и.
Отладчик Какой лучше использовать отладчик при написании 32-ух битной ОС на nasm? Заранее спасибо.
Он и выбран. Не пашет говорю же.
Добавлено через 5 минут Щас еще порылся в настройках: единственный отладчик который там отображается (найден автоматически) это какой то GNU gdb for MiniGW 32 bit который поставился вместе с Qt. Он там по дефолту и выбран, но компилятор то msvs. Может из за этого он и не работает. А где у msvs отладчик я без понятия. Во всяком случае там он не отобразился автоматически.
WarpDrive, думаю вы правы, что то у меня криво стояло. Сейчас переустановил, файл этот появился и даже в qt creator-е отобразился. Но теперь при запуске отладки пишет другую ошибку «не удалось установить подключение к помощнику отладчика WinRT».
Добавлено через 9 минут Кстати еще такой вопрос. Я создал в QtCreator проект типа консольное приложение. Но у меня при запуске почему то отображается какое то окошко с зеленым фоном и значком qt. В main только вот такой код (был при создании проекта):
Решение
Мистика какая — то Скорее всего у тебя открыто несколько проектов и активный — не твой, в итоге ты скорее всего запускаешь какой — то другой активный проект из примеров Qt.
Проблема с заданием отладчика gdb в QtCreator
Возникли проблемы с заданием отладчика gdb в QtCreator 4.5.0 При попытке начать отладку(F5) выходит сообщение:
«Не удалось создать отладчик. Пожалуйста, включите в разделе «Настройки отладчика» на странице «Запуск» режима проекта.»
Отладчик gdb расположен в соответствии с прописанными путями
но по какой-то причине его тип не определяется и он не валиден.
при попытке вызвать gdb руками через cmd, вышла ошибка которая для меня является большой загадкой
Каким образом gdb связан с python? И как устранить проблему связанную с отладчиком?
Предполагаю, что проблема связана с переменными окружения, но что конкретно не могу понять. Пытался удалить из PATH всё что связано с python 3.6(Anaconda), но ничего не помогло.
Использую следующие инструменты для сборки приложения:
Компилятор mingw
cmake для генерации makefile
ОC WIN10 x64
Ответы (1 шт):
Разобрался. Спасибо KoVadim, подкинул мысль на счёт python.
Действительно в состав qdb входит python 2.7, а так как у меня стоит 3.6 то он подхватывал его. Помогло то, что в переменную PATH загнал пути к библиотекам python и интерпретатору.
Qt не удалось создать отладчик windows
Доброго времени суток. Имеется:
Набор самописных библиотек на Qt.
Проект, который использует данные библиотеки.
Проблема: Я хочу запустить проект, использующий данные библиотеки: в режиме отладки. Ставлю точку останова на одной из функций в одной из библиотек. Запускаю всё это дело на отладку. и отладчик зависает. Может кто подскажет, как надо сгруппировать проект, чтобы отладчик сам доходил до поставленной точки останова? Я нашел только одно решение: это ставить точку останова в библиотеке, только после запуска проекта на отладку. Тогда да — отладчик доберется до этой точки останова. При следующем запуске на отладку приходится удалять точки останова, чтобы отладчик запустился. В VS такой проблемы нету. Может кто знает, как это можно решить?
Попробуйте зарепортить баг. Скорее всего потребуется лог отладчика
Проблема была решена. Лучше поздно, чем никогда. Суть в неправильной настройке «Пути Cdb». Если при нажатии «задать пути к символам. » выбрать «Использовать локальнй кэш» и «Использовать сервер Microsoft», то отладчик не сможете корректно искать символы. Он будет принудительно искать символы в локальном кэше и игнорировать символы MS. Я не знаю с чем это связано. Если оставить галочку только на «Использовать сервер символов Microsoft», то все будет работать корректно.
Qt не удалось создать отладчик windows
БлогNot. Установка QT под Windows и правильные Helloworld’ы 🙂
Установка QT под Windows и правильные Helloworld’ы 🙂
QT — ещё один мегаглючный популярный инструмент для разработки на C++. Во всяком случае, если Вы заглянете в тематический раздел Киберфорума, Вы увидите, что вместе с Visual C++ (Studio) и Builder именно Qt образует «большую тройку» современных сред разработки для C++. К тому же, сторонники Qt говорят, что только он изначально соблюдает концепцию ООП и весь из себя кроссплатформенный 🙂 Мдя, ну и бесплатный open source, конечно.
Как нам поставить и настроить это чудо под обычную 32- (64-) разрядную Windows? Смотрим официальный сайт, не ленимся нажать Show downloads.
Онлайн-сборки инсталлятора могут называться вроде
Увы, они будут докачивать порядка 800 Мб при установке и, по статистике, чаще становятся криво.
Офлайн-сборки (нажать Show Downloads на странице загрузок) могут называться, например
Это значит что они — с собственным компилятором MinGW и под 32-разрядную Windows. Есть еще сборки, предназначенные для работы с компилятором Visual Studio, тогда в имени сборки есть «studio». Не советую их, даже если установлен полный Visual Studio.
Скачать, установить. Актуальная версия 5.2.1 включает в себя IDE под названием Qt Creator, ставшее более-менее полноценным, во всяком случае, после пары ухищрений заработала отладка.
Запускаем установщик, по умолчанию будет предложен путь установки C:\Qt\Qt5.2.1 , не стоит его менять. Включаем компоненты Qt, MinGW, Qt Creator, Sources — необязательно.
Возможные проблемы при запуске QT Creator:
1. Ошибки при запуске (отсутствует libstdc++-6.dll и т.п.)
В чём дело: в переменных окружения не определена библиотека Qt и не прописан путь к компилятору. Исправляем ситуацию – создаем в переменных среды переменную QTDIR , содержащую значение
Кроме того, в системную переменную Path через точку с запятой прописываем пути
Как это сделать: Windows XP: Мой компьютер, Свойства, Дополнительно, Переменные среды, Path, Изменить Windows 7: Мой компьютер, Свойства, Дополнительные параметры системы, Переменные среды, Системные переменные, Path, Изменить
Это необходимо сделать также для того, чтобы собранные Вами приложения могли запускаться из проводника Windows или другого файл-менеджера.
2. Запускается, но присутствуют сообщения об ошибках (например, «Точка входа в процедуру __gxx_personality_v0 не найдена в библиотеке libstdc++-6.dll«).
В чём дело: кривые сборки Qt Creator. Собирайте компилятор MinGW вручную (в инете об этом есть) или поставьте QT Creator 3.0.1, основанный на сборке Qt 5.2.1 (файл qt-opensource-windows-x86-mingw48_opengl-5.2.1.exe ), в нём такого бага не наблюдалось.
3. На работает отладка и т.п. Не исключено, что по умолчанию вообще работает только подсветка кода 🙂
В чём дело: кривизна-с. В меню Инструменты, Параметры, на вкладке Сборка и запуск, Профили Qt проверяем, что имеется автоопределённая связка Qt 5.2.1 + MinGW 32bit, это добавляет Qt Creator. На вкладке Сборка и запуск, Комплекты (в немного более ранних сборках — Инструментарии) должна быть автоопределенная связка инструментов Desktop Qt 5.2.1 MinGW 32bit, эту связку также добавляет Qt Creator, но в ней может быть указан неправильный отладчик, а редактированию она не поддается. У меня помогло просто создание новой связки с помощью кнопки Добавить, ей присваиваем какое-либо другое имя, например, Desktop QT 5.2.1 MinGW Patched, нажимаем кнопку Сделать по умолчанию. В нижней части окна для новой связки необходимо выбрать такие же параметры как и для автоопределенной (Desktop, Локальный ПК (по умолчанию для Desktop), MinGW (x86 32bit) — если желаете, можно и через Visual Studio компилировать, будет ещё медленнее), но указать другой отладчик, воспользовавшись кнопкой Управление, Добавить, Обзор. В открывшемся окне указываем путь к отладчику вида C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\gdb.exe и нажимаем Применить.
4. Что ещё проверить и настроить перед созданием первого проекта.
Запускаем Qt Creator, выбираем пункт главного меню Инструменты, Параметры. на вкладке Текстовый редактор, Шрифт и цвета устанавливаем понравившийся шрифт (Courier New или другой моноширинный шрифт для листингов — рулит), на вкладке Текстовый редактор, Поведение выбираем кодировку файлов, по умолчанию Юникод (UTF-8). На вкладке Сборка и запуск, Основное указываем папку проектов, например, C:\Qt\Projects (эту папку надо предварительно создать; в пути к ней, как и к другим папкам Qt , не должно быть символов кириллицы и/или пробелов; имя пользователя в системе — тоже латиницей).
Теперь два главных действия должно быть легко выполнить:
меню Отладка, Начать отладку, Начать отладку или клавиша F5
меню Сборка, Запустить или комбинация клавиш Ctrl+R
Можно попробовать. Сначала консольное приложение: меню Файл, Новый файл или проект, Приложения, Консольное приложение Qt. Только встроенный код ничего не делает, а в инете и книгах обычно неработающие «Hello, world». Напишем работающий main.cpp 🙂
Теперь попробуем «приложение с интерфейсом»: меню Файл, Новый файл или проект, создать приложение QT Widgets. Текст модуля main.cpp :
Жмём Файл, Закрыть все документы и проекты — и вернёмся к начальному окну, готовые к новым подвигам 🙂
P.S. Ну и проблема ещё в том, что в инете и книгах большинство примеров — по QT4, а в QT5 есть заметные отличия, самое очевидное —
Подробнее здесь. А вот тут — много примеров с исходниками именно по QT5.
Ниже можно скачать оффлайн-сборку QT 5.2.1 с QT Creator и компилятором MinGW. При полной установке она обеспечивает нормальную работу приложения и не лезет в инет за дополнительными компонентами.
Скачать оффлайн-сборку QT 5.2.1 с QT Creator и компилятором MinGW в файле .exe, 634 Мб
Как слинковать приложение QT статически для работы на другом компьютере? DLL Collector
Как сделать Windows-инсталлятор для приложения на QT? InnoSetup