2012-01-18 85 views
1

我試過搜索,但沒有找到一個特定的職位,可以回答我的問題。 對於我的MacOS應用程序,我有一個外部框架駐留在我鏈接到的/ Library/Frameworks中。 該應用程序從Xcode運行良好。該應用程序在我的開發系統上運行良好。 如果我將應用程序包複製到另一臺機器上,並且還將外部框架複製到/ Library/Frameworks區域(因此它與我的開發機器具有類似的設置),則應用程序在嘗試執行使用的任務時崩潰外部框架。Mac應用程序崩潰從發現者,但運行終端

奇怪的是,如果從終端或通過gdb運行,​​應用程序不會在其他計算機上崩潰。從Finder啓動時,它只會使用外部框架崩潰。我確保權限等都是開放的。 崩潰是BAD_ACCESS(SIGSEGV)類型,並且該功能涉及使用框架寫出文件。 關於什麼可能導致崩潰/如何去調試這個想法?

感謝

回答

1

你正在運行到最有可能的差異工作目錄 - 從終端手動啓動應用程序將在您發生的任何目錄的時候是在運行它,而正常啓動它(例如通過在Finder中雙擊它)將啓動一個工作目錄/。確保你沒有錯誤地使用任何相對路徑。

+0

您的意思是與應用程序包/操作系統SDK相關的有關框架的路徑?我正在爲此使用絕對路徑。此外,從Finder啓動時,該應用在我的開發機器上沒有問題。無論項目路徑是相對的,它都應該影響它在開發機器上的行爲方式......對吧? – gamadeus 2012-01-19 00:49:09

+0

感謝您的一般路徑提示。直接在/下寫文件是我的問題的原因。我改變了代碼,專門在別處寫。從終端上運行時,看起來似乎沒有寫在/下的問題。 – gamadeus 2012-01-19 11:25:37

相關問題