2012-06-19 105 views
3

我試圖從macports使用GDB(v 7.3.1)來調試用 g ++ 4.7(也來自macports)編譯的可執行文件。但是,我開始調試,我得到下面的輸出:OSX上的GDB 7.3.1 Lion

GNU GDB(GDB)7.3.1版權所有(C)2011自由軟件基金會,公司 許可的GPLv3 +:GNU GPL版本3或更高版本 http://gnu.org/licenses/gpl.html這是免費軟件:您可以免費使用 來更改和重新發布它。沒有任何擔保,在法律允許的範圍內 。爲 輸入「顯示覆制」和「顯示保修」的詳細信息。這個GDB被配置爲「x86_64-apple-darwin11.2.0」。對於 錯誤報告的說明,請參閱: http://www.gnu.org/software/gdb/bugs/ ... BFD:無法讀取未知 加載命令0X24 BFD:無法讀取未知加載命令值爲0x26 BFD: 無法讀取未知加載命令0X24 BFD:無法讀取未知 加載命令0x26

然後,無論何時我試圖回溯,調試器都無法提供有關堆棧的任何 信息;我得到的輸出,如:

> #0 0x00000001085106d5 in ??() 
> #1 0x000000010833d9b6 in ??() 
> #2 0x0000000107e23000 in ??() 
> #3 0x00007f828341f630 in ??() 
> #4 0x00007f828341bc10 in ??() 
> #5 0x00007f8283421950 in ??() 
> #6 0x00007f8283427020 in ??() 
> #7 0x00007f8283425510 in ??() 
> #8 0x00007f82834195e0 in ??() 
> #9 0x0000000100000001 in ??() 
> #10 0x0000000100000000 in ??() 

我和調試符號建立,我能夠調試上 Linux的可執行的罰款。有誰知道這裏發生了什麼,或者我可以怎樣修復它。這是 真的很難解決某些問題,而無需調試器!

回答

1

我對OSX或gdb的使用知之甚少,但似乎在gdb 7.3.1發佈之後已經修好了 ,我似乎想起了關於OSX發行版和發行版的一些事情的gdb或binutils大約在同一時間,開發人員沒有任何早期訪問OS X的權限。您可以嘗試更高版本的gdb。

我猜測,下面的補丁提交後不久7.3.1修復它:

http://permalink.gmane.org/gmane.comp.gnu.binutils/54607

+0

它看起來像它是7.3版本,與OSX獅子正值,併爲7.3.1,這可能不會被認爲是一個bug修復,而一個新的功能,或至少補丁還沒有回來移植到發佈分支。 Yup; – matt

+0

升級到7.4就有訣竅。謝謝! – nomad