“无法读取未知加载命令0x26”的含义在Lion上的Xcode 3.2中意味着什么?

时间:2011-10-09 22:52:36

标签: xcode macos gdb osx-lion

我的项目在10.6 / Xcode 3.2.5下调试工作正常但在家里同样的项目在Lion / Xcode 3.2.5下运行了几十个

unable to read unknown load command 0x26
调试器中的

消息。关于我如何确定GDB抱怨什么的任何想法?它仍然“似乎”起作用,但我不知道可能会遗漏或错误。

请注意,这是一个常规的OSX应用,而不是iOS。

1 个答案:

答案 0 :(得分:1)

消息来自bfd/mach-o.c

switch (command->type)
{
    case BFD_MACH_O_LC_SEGMENT:
        if (bfd_mach_o_scan_read_segment_32 (abfd, command) != 0)
            return -1;
        break;
    .....
    default:
        fprintf (stderr, "unable to read unknown load command 0x%lx\n",
            (unsigned long) command->type);
        break;
}

警告说BFD无法识别遇到的Mach-O部分加载命令。

查看描述已知加载命令的bfd/mach-o.h,我们发现那里的命令范围从 0x1到0x18 ,但没有超出。

Mac OS X(Lion)定义了/usr/include/mach-o/loader.h中的加载常量(如果已安装XCode,则可用),从 0x1到0x27 。因此,看到加载命令警告>的最合乎逻辑的解释; 0x18 似乎缺少BFD自己标题中的所述代码。

此外,对于后续行动,请考虑查看:https://bugs.launchpad.net/tarantool/+bug/1018356