我在實習期間遇到了一個奇怪的問題。我的工作是使用C++編寫VTK代碼,並使用OSX 10.8.3。gdb沒有顯示正確的源代碼-l
當我想調試我的計劃,我跑了GDB和使用說明「文件」來載入我的程序,然後我用「清單」顯示源代碼,使由行號斷點。問題在於:這個怪異的gdb顯示了我甚至沒有包含在我的源代碼中的VTK頭文件的源代碼!
我的程序的名字被讀 我曾嘗試使用gdb read
然後break read:15
設置斷點,但GDB顯示「no source file named read
」這太荒謬了! 我注意到,GDB工作得很好,我的Ubuntu 12.04,當我在linux的GDB使用file read
,它只是顯示
Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done.
但在我的OSX 10.8.3的怪異GDB它顯示
Reading symbols for shared libraries ......... done
Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done.
我認爲這是原因,我試圖通過在macport中安裝gcc4.8來更改編譯器來解決問題,但cmake似乎只接受蘋果的gcc。
謝謝你的回答!我已經嘗試過你的方法,並且不起作用。我的源文件名是read6.cpp,我厭倦了使用「break read6.cpp:15」osx的gdb也顯示「沒有名爲read6.cpp的源文件」關鍵問題是這個令人毛骨悚然的gdb無法加載源代碼。我懷疑osx上的gdb無法讀取蘋果的gcc的輸出文件。 – Democritus