СодержаниеВзаимодействие с отладчикомВ режиме Отладка для взаимодействия с отлаживаемой программой вы можете использовать несколько различных видов. Часто используемые виды отображаются по умолчанию, а используемые редко - спрятаны. Для изменения настроек по умолчанию, выберите Отладка > Обзоры и выберите виды, которые надо показать или спрятать. Вы также можете заблокировать виды. Расположение видов сохраняется для последующих сессий.
Запуск отладчикаЧтобы запустить программу под отладчиком, выберите Отладка > Начать отладку > Начать отладку или нажмите F5. Qt Creator проверит является ли собранная программа актуальной и пересоберёт её при необходимости. Отладчик получит контроль и запустит программу. Замечание: Если используются сложные особенности (такие как QtWebKit), то запуск программы в отладчике может занять заметное количество времени, обычно в диапазоне от нескольких секунд до нескольких минут. После запуска программы она работает как обычно и с обычной производительностью. Вы можете прервать выполняемую программу выбрав Отладка > Прервать. Программа автоматически прерывается как только дойдет до точки останова. Как только программа остановится, Qt Creator:
Вы можете использовать виды режима Отладка для более подробного просмотра данных. Во время отладки доступны следующие клавиатурные сокращения:
Можно продолжить выполнение программы до окончания текущей функции или перепрыгнуть на произвольную позицию в текущей функции. Установка точек остановаТочки останова представляют место или набор мест в коде, которые при выполнении прервут отлаживаемую программу и передадут управление вам. Вы можете просмотреть состояние прерванной программы или продолжить выполнение построчно или непрерывно. Qt Creator показывает точки останова в виде Точки останова, который включён по умолчанию. Вид Точки останова также доступен когда отладчик и отлаживаемая программа не запущены.
Обычно точки останова связаны с файлом исходных кодов и строкой или началом функции -- оба варианта доступны в Qt Creator. Прерывание программы на точке останова может быть запрещено при определённых условиях. Для установки точки останова:
Замечание: Вы можете удалить точку останова:
Вы может установить и удалить точки останова перед тем как программа будет запущена или во время её работы под отладчиком. Точки останова сохраняются вместе с сессией. Просмотр списка стека вызововКогда отлаживаемая программа прерывается, Qt Creator отображает наследованные вызовы процедур, приводящие к текущему положению в списке стека вызовов. Список стека строится из кадров стека вызовов, каждый из которых представляет конкретную функцию. Для каждой функции Qt Creator пытается получить имя файла и номер строки соответствующих файлов исходных кодов. Эти данные отображаются в виде Стек.
Так как стек вызовов, приводящий к текущему положению, может происходить из или проходить через код для которого нет отладочной информации, не все кадры стека имеют соответствующие положения в исходном коде. Кадры стека без соответствующего расположения в исходном коде будут иметь серый цвет в виде Стек. Если вы нажмёте на кадре с известным положением в исходном коде, текстовый редактор перейдёт в соответствующее положение и обновит вид Переменные, делая их видимыми как будто программа была прервана перед входом в функцию. Просмотр потоковЕсли прервано многопоточное приложение, то можно использовать вид Поток или выпадающий список с именем Поток в строке состояния отладчика для переключения от одного потока к другому. Вид Стек настроит себя соответственно. Просмотр модулей и файлов исходных кодовВиды Модули и Файлы исходных текстов отображают имеющуюся у подключаемого модуля отладчика информацию о включённых в проект модулях и файлах исходных кодов. Вид Модули перечисляет модули в проекте и символы в них. Также он показывает где модуль был загружен. Вид Файлы исходных текстов перечисляет все файлы исходных кодов, включённые в проект. Если вы не можете войти в инструкцию, вы можете проверить является ли файл исходных кодов частью вашего проекта или он был собран где-то ещё. Вид показывает путь к каждому файлу в файловой системе. По умолчанию виды Модули и Файлы исходных текстов спрятаны. Просмотр дизассемблированного кода и состояния регистровВид Дизассемблер отображает дизассемблированный код текущей функции. Вид Регистры отображает текущее состояние регистров CPU. Виды Дизассемблер и Регистры полезны для низкоуровневых команд проверки отдельных инструкций, таких как Войти в и Перейти через. По умолчанию виды Дизассемблер и Регистры спрятаны. Локальные и наблюдаемые переменныеКогда бы программа не остановилась под контролем отладчика, он получает информацию о верхнем кадре стека и отображает его в виде Переменные. Вид Переменные обычно включает информацию о параметрах функции в этом кадре, а также локальные переменные.
Составные переменные структур или классов в виде отображаются как раскрываемые элементы. Раскройте элемент чтобы увидеть все его члены. Помимо отображаемых значений и типа, вы можете просмотреть и перейти к низкоуровневой компоновке данных объекта.
Вид Переменные также предоставляет доступ к наиболее мощной особенности отладчика: полное отображение данных, принадлежащих базовым объектам Qt. Для включения возможности отображения данных базовых объектов Qt:
Например, в случае с QObject, вместо отображения указателя на некоторую закрытую структуру данных, вы увидите список потомков, сигналы и слоты. Аналогично, вместо отображения множества указателей и целых чисел, отладчик Qt Creator покажет содержимое QHash или QMap в упорядоченном виде. Также отладчик покажет данные доступа для QFileInfo и предоставит доступ к "реальному" содержимому QVariant. Когда программа прервана, вы можете использовать вид Переменные для изменения содержимого переменной простого типа данных, например, int или float. Чтобы сделать это, нажмите на столбце Значение, исправьте значение в встроенном редакторе и нажмите Enter (или Return). Замечание: Набор наблюдаемых переменных сохраняется в вашей сессии.
X
|
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |