use*_*951 21 objective-c xcode4.3
我真的无法弄清楚为什么我有这个bug.
首先,调试器停在机器代码处

线程也没有显示任何内容.程序实际上没有代码停止

所以它与_dispatch_worker_thread有关
那是什么?
我怎么能调试这个?我应该回滚吗?
当您运行CPU上不支持的(向量)扩展时,会发生这种崩溃.
例如,在"project-settings/build-settings/Code Generation"下的xcode 5中,将"Enable Additional Vector extensions"设置为"AVX2".构建可执行文件.
现在运行它:
EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP)是a的副产品__builtin_trap()- 这是GCC和clang内在功能.在x86上,我们得到了
0x4dfa2: movl %esi, (%esp)
0x4dfa5: movl %edx, 4(%esp)
0x4dfa9: movl %eax, 8(%esp)
0x4dfad: calll 0x110ffa ; symbol stub for: objc_msgSend
0x4dfb2: cmpb $0, %al
0x4dfb4: je 38
-> 0x4dfba: ud2
0x4dfbc: movl -32(%ebp), %eax
Run Code Online (Sandbox Code Playgroud)
该指令ud2是罪魁祸首,并不是由Xcode专门处理的.
在ARM上,我们编译trap并导致traceXCode 中的断点.这是clang我们在这里的一个错误吗?
最终在原始问题的上下文中,我怀疑失败的库函数已经触及了一个断言.
| 归档时间: |
|
| 查看次数: |
19420 次 |
| 最近记录: |