google-toolbox-for-mac iphone 单元测试:1073 中止陷阱 mkdir "$CFFIXED_USER_HOME" 命令 /bin/sh 失败,退出代码

Posted

技术标签:

【中文标题】google-toolbox-for-mac iphone 单元测试:1073 中止陷阱 mkdir "$CFFIXED_USER_HOME" 命令 /bin/sh 失败,退出代码为 134【英文标题】:google-toolbox-for-mac iphone unit test: 1073 Abort trap mkdir "$CFFIXED_USER_HOME" Command /bin/sh failed with exit code 134 【发布时间】:2010-11-11 21:09:21 【问题描述】:

我正在尝试从 google-toolbox-for-mac 设置 iPhone 单元测试框架。我创建了一个简单的单元测试并尝试构建它并收到以下错误。我的一位同事可以使用相同的项目并在他的机器上成功构建。对于我的一生,我无法弄清楚我可能会错过什么。以下是我看到的错误消息。有没有人有任何见解?

没有找到属于您的匹配进程

mkdir(1073) malloc:保护边缘

mkdir(1073) malloc:使用标准记录器将 malloc 堆栈记录到磁盘

mkdir(1073) malloc:启用涂鸦检测模块以释放块

mkdir(1073) malloc: 进程 1059 不再存在,堆栈日志从 /tmp/stack-logs.1059.mkdir.QDKY28.index 中删除

mkdir(1073) malloc:堆栈日志正在写入/tmp/stack-logs.1073.mkdir.KrpE2L.index

检测到尝试调用 iPhone 上不存在的系统库中的符号: 从函数调用 getopt$UNIX2003 ???在图像 mkdir 中。

如果您在 gdb 中运行模拟器二进制文件时遇到此问题,请确保首先“设置 start-with-shell off”。

/Developer/google-toolbox-for-mac/UnitTesting/RunIPhoneUnitTest.sh:第 150 行:1073 中止陷阱 mkdir "$CFFIXED_USER_HOME"

命令 /bin/sh 失败,退出代码 134

【问题讨论】:

【参考方案1】:

这似乎是 google-toolbox/UnitTesting/RunIPhoneUnitTest.sh 脚本中的错误。行后的所有内容: export DYLD_ROOT_PATH="$SDKROOT" 在“iPhone 模式”下运行。在我们较旧的 32 位 iMac 上 /bin/mkdir 似乎使用 iPhone 上不可用的 getopt$UNIX2003 系统调用。所以以下行失败: mkdir "$CFFIXED_USER_HOME"。在较新的 64 位 Mac 上,/bin/mkdir 与 iPhone 模式兼容。

解决方法是简单地将以if [ $GTM_DISABLE_USERDIR_SETUP -eq 0 ]; then 开头的代码部分移动到export DYLD_ROOT_PATH 部分(以及export CFFIXED_USER_HOME 行)之前。

顺便说一句,SDK 似乎有系统库 libc、libSystem 等的包装器版本,用于检查所使用的系统调用在 iPhone 上是否可用。这就是上面“iPhone 模式”的含义。

【讨论】:

谢谢!它为我解决了这个问题,只需移动那个“如果”和 alakazam - 它就可以了!【参考方案2】:

听起来您的同事可能正在使用接受 $UNIX2003 符号装饰的旧版 ios SDK。当我尝试使用为早期操作系统编译的 libCURL 版本时,我遇到了类似的问题。最后,我不得不使用最新的 SDK 工具重新构建 libCURL(详情请点击此处:http://www.creativealgorithms.com/blog/content/building-libcurl-ios-42),但您可以使用与您的同事相同的 SDK(如果仍然可用)来解决它。

【讨论】:

以上是关于google-toolbox-for-mac iphone 单元测试:1073 中止陷阱 mkdir "$CFFIXED_USER_HOME" 命令 /bin/sh 失败,退出代码的主要内容,如果未能解决你的问题,请参考以下文章

XCode中添加到目标和添加到项目之间的区别

匹配字符串中短语的第一个单词

请问Ip报中的源站ip 是局域网ip还是公网ip

php判断ip是否在指定ip区间内

游戏,软件,邮箱检测的登陆IP是内网IP还是外网IP,外网IP能修改为指定IP吗

如何获取伪装ip下的真实ip地址