我在 Qt 中创建了一个简单的控制台应用程序。这是它的源代码:
当我从主菜单使用功能 Debug -> Start Debugging -> Start Debugging 时,应用程序运行并将消息“Hello world”打印到控制台。但是调试器会忽略在第 6 行设置的断点(从上面的截图可以看出)。
附加信息:QT Creator 版本 - 2.4.1 QT 库版本 - 4.8.1(但也有 4.7.4 安装在单独的目录中)
项目构建设置如下:
工具 -> 选项中的工具链设置:
GDB 可执行文件存在于目录“E:\QtSDK\pythongdb\python_2.7based”中,这强调了我在调试类似的基于 GUI 的 Hello World 程序时没有问题。
GDB 设置:
有什么我做错了吗?
PS这是我的编译输出:
这是 Makefile.debug 的内容:
################################################# #####################用于构建的 Makefile:PasswordGuess
由 qmake (2.01a) (Qt 4.8.1) 生成于:ne 28. 4 18:12:57 2013
项目:..\PasswordGuess\PasswordGuess.pro
模板:应用程序
################################################# ###################### 编译器、工具和选项CC = gcc
CXX = g++
DEFINES = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT
CFLAGS = -g -Wall $
-frtWallti -fexceptionC $(DEFINES)
INCPATH = -I"......\QtSDK\Desktop\Qt\4.8.1\mingw\include\QtCore" -I"......\QtSDK\Desktop\Qt\4.8. 1\mingw\include" -I"......\QtSDK\Desktop\Qt\4.8.1\mingw\include\ActiveQt" -I"debug" -I"..\PasswordGuess" -I"." -I"......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\win32-g++"
LINK = g++
LFLAGS = -Wl,-subsystem,console -mthreads
LIBS = -L"e:
QMAKE = e:\qtsdk\desktop\qt\4.8.1\mingw\bin\qmake.exe
IDC = e:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\idc.exe
IDL = midl
ZIP = zip -r -9
DEF_FILE =
RES_FILE =
COPY = 复制 /y
SED =
COPY_FILE = $(COPY)
COPY_DIR = xcopy /s /q /y /i
DEL_FILE = del
DEL_DIR = rmdir
MOVE = 移动
CHK_DIR_EXISTS= 如果不存在
MKDIR = mkdir
INSTALL_FILE = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
OBJECTS_DIR = 调试
# 文件SOURCES = ..\PasswordGuess\main.cpp
OBJECTS = debug/main.o
DIST =
QMAKE_TARGET = PasswordGuess
DESTDIR = debug\ #avoid trailing-slash linebreak
TARGET = PasswordGuess.exe
DESTDIR_TARGET = debug\PasswordGuess.exe
.后缀:.cpp .cc .cxx .c
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.co:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
首先:全部
全部:Makefile.Debug $(DESTDIR_TARGET)
$(DESTDIR_TARGET): $(OBJECTS)
$(LINK) $(LFLAGS) -o $(DESTDIR_TARGET) $(OBJECTS) $(LIBS)
qmake: FORCE
@$(QMAKE) -spec ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\win32-g++ CONFIG+=declarative_debug -o Makefile.Debug ..\PasswordGuess\PasswordGuess.pro
分布:
$(ZIP) PasswordGuess.zip $(SOURCES) $(DIST) ..\PasswordGuess\PasswordGuess.pro ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\qconfig.pri ... ...\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\modules\qt_webkit_version.pri ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\qt_functions.prf 。 .....\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\qt_config.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\exclusive_builds。 prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\default_pre.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\ win32\default_pre.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\debug.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\ mkspecs\features\debug_and_release.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\default_post.prf ......\QtSDK\Desktop\Qt\4.8.1\ mingw\mkspecs\features\win32\default_post.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\build_pass.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\win32\console.prf .. ....\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\declarative_debug.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\win32\rtti .prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\win32\exceptions.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs \features\win32\stl.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\shared.prf ......\QtSDK\Desktop\Qt\4.8.1 \mingw\mkspecs\features\warn_on.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\qt.prf ......\QtSDK\Desktop\Qt\4.8 .1\mingw\mkspecs\features\win32\thread.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\moc.prf ......\QtSDK\Desktop \Qt\4.8.1\mingw\mkspecs\features\resources.prf ......\QtSDK\Desktop\Qt\4.8。1\mingw\mkspecs\features\uic.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\yacc.prf ......\QtSDK\Desktop\Qt\ 4.8.1\mingw\mkspecs\features\lex.prf ......\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\features\include_source_dir.prf 标题资源 图像源 OBJECTIVE_SOURCES 表单 YACCSOURCES YACCSOURCES LEXSOURCES
清理:compiler_clean
-$(DEL_FILE) debug\main.o
distclean: 清洁
-$(DEL_FILE) $(DESTDIR_TARGET)
-$(DEL_FILE) Makefile.Debug
检查:首先
mocclean:compiler_moc_header_clean compiler_moc_source_clean
mocables:compiler_moc_header_make_all compiler_moc_source_make_all
compiler_moc_header_make_all:
compiler_moc_header_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
compiler_image_collection_clean:
-$(DEL_FILE) qmake_image_collection.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_uic_make_all:
compiler_uic_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean:
调试/main.o: ../PasswordGuess/main.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug\main.o ..\PasswordGuess\main.cpp
安装:强制
卸载:强制
力量: