2011-02-07 100 views
3

我在Mac Pro上的Mac OS X 10.6.6上使用Xcode 3.2.3來從the growl-development repository構建GrowlTunes的修訂版本5fd480ef577f。gdb聲稱它不知道如何運行

與處女結帳一個乾淨的構建,這是我得到:

% gdb build/Debug/GrowlTunes.app/Contents/MacOS/GrowlTunes 
GNU gdb 6.3.50-20050815 (Apple version gdb-1469) (Wed May 5 04:41:34 UTC 2010) 
[blah blah blah] 
This GDB was configured as "--host=x86_64-apple-darwin --target=powerpc-apple-darwin"...Reading symbols for shared libraries ......... done 

(gdb) run 
Starting program: /Volumes/RAM Disk/growl-development/Extras/GrowlTunes/build/Debug/GrowlTunes.app/Contents/MacOS/GrowlTunes 
Don't know how to run. Try "help target". 

當我嘗試在Xcode中,它顯然做了一些內部測試失敗,因爲它甚至不列出GDB作爲一個選項。由於Cocoa應用程序中沒有其他調試器(在此版本的Xcode中),因此與目標Info窗口中調試相關的彈出式菜單爲空,嘗試運行應用程序時什麼都不做 - 「Run」按鈕切換回爲立即運行按鈕。

的目標,是爲32位PowerPC和64位Intel:

% file build/Debug/GrowlTunes.app/Contents/MacOS/GrowlTunes 
build/Debug/GrowlTunes.app/Contents/MacOS/GrowlTunes: Mach-O universal binary with 2 architectures 
build/Debug/GrowlTunes.app/Contents/MacOS/GrowlTunes (for architecture ppc7400):  Mach-O executable ppc 
build/Debug/GrowlTunes.app/Contents/MacOS/GrowlTunes (for architecture x86_64): Mach-O 64-bit executable x86_64 

我可以直接運行它,無論是從終端或從Finder中,但這並不能幫助我一步步調試。

這不是交叉編譯方案;我的意思是運行64位英特爾架構,這是我的機器的本地架構,而不是PowerPC架構。

我猜這是在項目的某個地方的一些構建錯誤配置,但我不知道什麼或在哪裏。有什麼建議麼?從我的接觸

+0

我只是猜測,因爲我對gdb知之甚少,是因爲`--target = powerpc-apple-darwin`標誌? – koo 2011-02-07 01:28:00

回答

1

在相關版本設置中切換體系結構的順序解決了gdb和Xcode中的問題。這是一個蹩腳的解決方案,我仍然歡迎更好的解決方案,但至少它是有效的。

2

解決方法:

gdb -arch x86_64 build/Debug/GrowlTunes.app/Contents/MacOS/GrowlTunes 

我仍然希望一個解決方案,使我能夠運行/調試Xcode中的應用。

1

在gdb的提示,嘗試「設置拱x86_64的」或「設置拱I386:X86-64」(當然沒有引號,我用gdb總新手,我潛伏的其他問題的解決方案)

相關問題