2012-02-21 64 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