我的项目在10.6 / Xcode 3.2.5下调试工作正常但在家里同样的项目在Lion / Xcode 3.2.5下运行了几十个
unable to read unknown load command 0x26
调试器中的消息。关于我如何确定GDB抱怨什么的任何想法?它仍然“似乎”起作用,但我不知道可能会遗漏或错误。
请注意,这是一个常规的OSX应用,而不是iOS。
答案 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