2012-02-21 82 views
1

我目前正在Windows 7上构建,并试图让我的调试器遍历我的代码。问题是,虽然我的构建配置设置为调试,并且我的CONFIG变量设置为在我的QMake文件中进行调试,但它仍然不起作用。使Qt调试器正常工作(GDB)

这里是我的qmake的文件:

TEMPLATE = app 
CONFIG += console debug 
CONFIG -= qt 

QMAKE_CXXFLAGS += -g -gdb 

SOURCES += main.c \ 
    Triangle.c \ 
    GlutTesting.c 

HEADERS += \ 
    Triangle.h \ 
    Includes.h \ 
    GlutTesting.h 

LIBS += -lSDL -lopengl32 -lfreeglut 

注意,它实际上是用C语言编写,并编译成这样(所有的文件都是原生的C代码,使用MinGW编译)。

问题是,每次我开始时,即使设置了断点,代码实际上也只是将它缩小到应用程序当前设置的结尾并停在那里。现在实际调试我的应用程序几乎是不可能的。

这里有什么问题?每次我Google时,我都会发现一些关于“添加调试符号”的信息,这在Linux中很容易实现,但在Qt Creator中,PITA似乎完全正确地完成了(除非我错过了一些完全简单的东西)。

+0

尝试用注释行配置 - = qt – 2012-02-21 10:34:49

+0

不幸的是,这不起作用... – zeboidlund 2012-02-21 10:58:27

+0

我会检查从.pro文件QMake创建的Makefile,并查看是否真正添加到调试符号相关的选项编译器选项与否。 – Bill 2012-02-23 07:23:39

回答

1

面对使用Qt Creator的2.5.0

原来GDB在我的主目录开始,不能(我不知道为什么)的负荷调试符号在Linux(Fedora的16)类似的问题库正在调试。每当我强制gdb从放置库二进制文件的目录开始(在Qt Creator中,它通过Tools-> Options-> Debugger-> Additional Startup Commands中的附加调试器启动命令完成:只需使用“cd”二进制文件)一切工作正常。

另一个解决方案是将环境变量LD_LIBRARY_PATH设置为包含二进制目录的完整路径。在Qt Creator中,它在Project-> Run Settings-> Run Environment中完成。

为了检查调试符号是否已经正确加载,请通过Window-> Views-> Debugger Log打开gdb log并键入命令“info shared”。

+0

尝试了你说的话,尽管我在Windows上。没有。 共享的信息似乎输出了一些有趣的数据:一个是我的项目和二进制可执行文件的路径无法在该列表中找到。有没有办法来覆盖这个? – zeboidlund 2012-08-09 06:25:12