如何在可执行文件附近生成dsym文件,而不是在bundle之外,最好没有安装后脚本



我正在使用带有Xcode的LLVM Clang,地址清理器没有创建file:line报告。我阅读了文档,上面写着在启动应用程序之前在二进制文件上运行dsymutil

http://clang.llvm.org/docs/AddressSanitizer.html#symbolizing-报告

我可以通过添加运行脚本构建阶段来实现这一点,但它很笨重。为了对unix makefile进行同样的操作,我认为install(SCRIPT <script.cmake>)会更好。

有没有办法避免这一切,让Xcode在构建过程中运行dsymutil,可能是通过我不知道的构建设置?

我试着用dsym将调试信息格式设置为dwarf,但llvm symbolizer没有使用它。我想区别在于dsymutil在可执行文件附近创建了.dsym文件,捆绑包内:MyExec.dsym。当Xcode在捆绑包外创建它时:MyExec.app.dsym

在Xcode中的构建设置中,将调试格式从";DWARF";至";具有dSYM的DWARF";。