我試圖在網上搜索這個問題,但似乎我找不到解決我的問題的好方法。那麼,我試圖用gdb來調試我的C++程序。該程序由一個簡單的main.cpp和一個model.h組成。而編譯命令是如何在C++頭文件上使用gdb?
g++ -Wall -g -c main.cpp
g++ -Wall -g main.o -o OUTPUT
由於幾乎所有的算法被存儲在model.h,我需要調試頭文件,而不是cpp文件。但是,每當我試圖把一個破發點上的頭狀
tbreak model.h:163
GDB總是給我一個消息,「沒有源文件名爲TNFmodel.h」。
在另一個問題breakpoints in GDB,我看到了一個解決方案,通過「dir」將包含頭的文件夾添加到庫中。但是我的頭文件已經在源文件夾中,並且在嘗試之後
dir ./
問題仍然存在。
那麼有人知道什麼是錯的?如何使用gdb調試頭文件?
是編譯時還包含在該位置的頭文件嗎?也許你可以在輸入'info sources'時發佈輸出gdb。 – Nobody 2013-03-04 18:51:04
哎喲...我查了一下資料,現在看到了這個問題......一封信的情況並不符合。那麼,我不知道我是如何通過編譯的......但也許這是因爲我使用的是mac,有時編譯時並不敏感。糾正這種情況後,gdb可以正常工作。謝謝。 – Chong 2013-03-05 00:25:12