Setup-GDB mit QtCreator
Habe ich ein einfaches Projekt mit OpenCV und cmake, und hat zwei source-Dateien nur die Segmentierung.h und segmentation.cpp.
Hier ist die 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})
Ich erstellt ein Debug-build, mit dem argument geschickt zu cmake: -DCMAKE_BUILD_TYPE=Debug . Aber QtCreator noch überspringen des break-Punkte, und kann nicht gestartet werden, gdb richtig:
&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"
Wie dieses problem zu lösen?
- Nicht 100% sicher, aber das gdb-Warnung wahrscheinlich nichts damit zu tun hat es nicht funktioniert, es bedeutet nur, gdb läuft nicht auf einem echten terminal. Finden Sie die eigentlichen compile-Befehle verwendet, und überprüfen Sie, dass
-g
Schalter ist, der wirklich dort? Auch neugierig, warum die alten-std=c++98
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gehen Projekt, Laufen und in den run-Einstellungen, aktivieren Sie das Kontrollkästchen, die sagen, im Terminal Ausführen. Es wird der QT Creator starten Sie das Programm innerhalb einer XTerm (Standard), spielt auch mit gdb und macht die &"warning: GDB: Failed to set controlling terminal: Unangemessene ioctl für Gerät\n" problem Weg.
Standardmäßig beim starten des Debuggers, wird es auch bringen QT Creator in den Vordergrund und damit ausblenden, das terminal gebracht wurde. Zum stoppen dieses Verhalten gehen Sie zu: Tools, Optionen, Debugger. In der Allgemeinen Registerkarte, deaktivieren Sie die Kontrollkästchen, die sagen, Bringen Qt Creator in den Vordergrund, wenn die Anwendung unterbricht.
Wenn Sie möchten, ändern Sie die Klemme, so können Sie sich in Optionen, Umgebung. In der System Abschnitt der Terminal, was Sie wollen. Für native Ubuntu /Gnome-terminal, legen Sie es auf /usr/bin/gnome-terminal -x. Die Parameter in dieser Einstellung muss das terminal ausführen eines externen Kommandos oder Programms.