【发布时间】:2017-05-05 00:33:16
【问题描述】:
以下是重现此问题的方法:
- 打开 Xcode;
- 创建一个新的 macOS Cocoa 应用程序(不基于文档,不使用核心数据或任何测试框架);
- 单击运行(或按 Cmd+R)。
应用程序将无法运行,控制台中显示以下内容:
dyld: Symbol not found: __pthread_atfork_child_handlers
Referenced from: /usr/lib/libSystem.B.dylib
Expected in: /usr/lib/libSystem.B.dylib
in /usr/lib/libSystem.B.dylib
(lldb)
程序停在一行汇编代码处,用->标记如下:
dyld`__abort_with_payload:
0x1000359e4 <+0>: movl $0x2000209, %eax ; imm = 0x2000209
0x1000359e9 <+5>: movq %rcx, %r10
0x1000359ec <+8>: syscall
-> 0x1000359ee <+10>: jae 0x1000359f8 ; <+20>
0x1000359f0 <+12>: movq %rax, %rdi
0x1000359f3 <+15>: jmp 0x100035300 ; cerror_nocancel
0x1000359f8 <+20>: retq
0x1000359f9 <+21>: nop
0x1000359fa <+22>: nop
0x1000359fb <+23>: nop
我注意到构建的产品(*.app 可执行文件)是可运行的,如果我在 Finder 中显示它并双击它。
此外,如果我编辑运行方案,并将“启动”设置为“等待启动可执行文件”而不是默认的“自动”,我可以通过以下方式正常调试应用程序:
- 按 Cmd+R。 Xcode 显示“Waiting to attach to xxx”;
- 在 Finder 中双击 xxx.app 启动应用;
- Xcode 正常工作。
所以问题似乎是 Xcode 未能自动附加到可执行文件。
我应该如何解决这个问题?
我的规格:
- Xcode 8.3.1
- 斯威夫特 3.0.1
- macOS 10.12.4
- 英特尔 CPU
【问题讨论】:
-
我尝试了你的步骤,但我的工作正常。你可能有一个损坏的 Xcode 安装或者像区分大小写的文件系统这样奇怪的东西吗? (我知道这听起来很傻,但两年前我试过了,但有些游戏停止工作了!)你想让我压缩我的项目并发送给你吗?
-
这里的问题完全相同。完全相同的错误和构建的产品运行。你已经以某种方式解决了吗?感谢您的帮助。
-
@stefat No. 似乎是一个罕见的问题。
-
我也看到了这个问题。但是,我刚刚从旧 Mac mini 的 Time Machine 备份恢复到新 Mac Pro。想知道这是否有某种相关性(可能文件已损坏或丢失?)。
-
@kainjow 我的问题也是从我的 Time Machine 备份中恢复后开始的!我将把它添加到我的问题描述中。
标签: swift xcode macos macos-sierra