2012-01-18 87 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

相关问题