Настройка GDB с помощью QtCreator

у меня есть простой проект с использованием OpenCV и cmake, и имеет только два исходных файла сегментации.h и сегментация.СРР.

вот cmakefile:

project(Segment)
cmake_minimum_required(VERSION 2.8)

SET(CMAKE_BUILD_TYPE Debug)
SET(CMAKE_VERBOSE_MAKEFILE true)

if(CMAKE_COMPILER_IS_GNUCXX)
    message(STATUS "GCC detected, adding compile flags")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g -std=c++98 -Wall")
endif(CMAKE_COMPILER_IS_GNUCXX)

find_package(OpenCV REQUIRED)
add_executable(Lulu segmentation.cpp segmentation.h)
target_link_libraries(Lulu ${OpenCV_LIBS})

Я создал отладочную сборку с аргументом, отправленным cmake: - DCMAKE_BUILD_TYPE=Debug . Однако QtCreator по-прежнему пропускает точки останова и не может правильно запустить gdb:

&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for devicen"

Как исправить эту проблему?

1 ответов


на проект, Run и в настройках запуска установите флажок, который говорит запуск в терминале. Это заставит Qt Creator запустить программу внутри XTerm (по умолчанию), которая хорошо играет с gdb и делает & "предупреждение: GDB: не удалось установить управляющий терминал: неподходящий ioctl для устройства\n" проблема уйдет.

по умолчанию при запуске отладчика он также выведет Qt Creator на передний план и, таким образом, скроет терминал, который был поднят. Чтобы остановить это поведение, перейдите к:инструменты, опции, отладчик. В общие tab, снимите флажок, который говорит вывести Qt Creator на передний план, когда приложение прерывает.

Если вы хотите изменить терминал, вы можете сделать это в опции, окружающая среда. В система на терминал что вы хотите. Для родной Ubuntu / Gnome terminal, установите его в / usr/bin / gnome-terminal-x. Параметры этого параметра должны указывать терминалу на выполнение внешней команды или программы.