Xcode项目不再在调用堆栈中显示符号

Xcode项目不再在调用堆栈中显示符号,xcode,macos,debug-symbols,macos-sierra,Xcode,Macos,Debug Symbols,Macos Sierra,我有一个Xcode项目,它只有一个方案,只不过是在调试配置中启动一个OSX应用程序。应用程序不是由项目生成的,并且项目没有任何目标。Xcode项目只是从一个方案启动应用程序。该应用程序最初是在调试模式下通过外部命令行构建脚本构建的,除了主可执行文件外,还包含许多动态库(dylib) 在通过Xcode以这种方式启动应用程序之后,如果应用程序被断言语句停止(或者只是手动暂停),那么生成的调用堆栈只会显示地址指针。没有显示任何符号: 但是,如果我强制断言继续,应用程序崩溃并生成完全符号化的崩溃报告,

我有一个Xcode项目,它只有一个方案,只不过是在调试配置中启动一个OSX应用程序。应用程序不是由项目生成的,并且项目没有任何目标。Xcode项目只是从一个方案启动应用程序。该应用程序最初是在调试模式下通过外部命令行构建脚本构建的,除了主可执行文件外,还包含许多动态库(dylib)

在通过Xcode以这种方式启动应用程序之后,如果应用程序被断言语句停止(或者只是手动暂停),那么生成的调用堆栈只会显示地址指针。没有显示任何符号:

但是,如果我强制断言继续,应用程序崩溃并生成完全符号化的崩溃报告,尽管应用程序发行版中任何地方都没有dSYM文件

[Edit]:此外,在堆栈中的许多(但可能不是全部)调用中,许多符号都出现在调试器源编辑器的顶部:

rendersystemtest`CMaterialSystem2AppSystemDict::SetupMaterialSystem:
    rendersystemtest[0x1cfb99] <+1753>: movb   $0x1, -0x51(%rbp)
    rendersystemtest[0x1cfb9d] <+1757>: movq   0x85c4e4(%rip), %rax      ; (void *)0x0000000000000000
    rendersystemtest[0x1cfba4] <+1764>: movb   -0x51(%rbp), %cl
    rendersystemtest[0x1cfba7] <+1767>: movq   (%rax), %rax
    rendersystemtest[0x1cfbaa] <+1770>: cmpq   -0x8(%rbp), %rax
    rendersystemtest[0x1cfbae] <+1774>: movb   %cl, -0x101(%rbp)
rendersystemtest`CMaterialSystem2AppSystemDict::SetupMaterialSystem:
rendersystemtest[0x1cfb99]:movb$0x1,-0x51(%rbp)
rendersystemtest[0x1cfb9d]:movq 0x85c4e4(%rip),%rax;(无效*)0x0000000000000000
rendersystemtest[0x1cfba4]:movb-0x51(%rbp),%cl
rendersystemtest[0x1cfba7]:movq(%rax),%rax
rendersystemtest[0x1cfbaa]:cmpq-0x8(%rbp),%rax
rendersystemtest[0x1cfbae]:movb%cl,-0x101(%rbp)
因此,符号存在于某个地方,它们只是没有显示在UI调用堆栈中

此外,缺少调用堆栈符号是最近的一个结果。以前,当断言暂停或停止时,同一可执行文件显示符号化调用堆栈:

我的问题是:

  • 是什么导致Xcode停止在UI调用堆栈中显示符号
  • 如果这些符号可用于崩溃报告,为什么Xcode不能在UI调用堆栈中显示它们
  • [Edit]:为什么Xcode在调试器源代码编辑器中显示符号,而不是在调用堆栈本身中
  • [编辑2016-11-05]进一步研究后,这似乎是环境问题……可能与macOS Sierra的更新有关。在运行El Capitan的类似MacBook上不会出现此问题

    但仍然不知道根本原因是什么。如有任何意见,将不胜感激