0

我将 LLVM Clang 与 Xcode 一起使用,并且地址清理程序没有创建文件:行报告。我阅读了文档,它说dsymutil在启动应用程序之前在二进制文件上运行。

http://clang.llvm.org/docs/AddressSanitizer.html#symbolizing-the-reports

我可以通过添加运行脚本构建阶段来实现这一点,但它很笨重。对 unix-makefiles 做同样的事情,我认为 aninstall(SCRIPT <script.cmake>)会更好。

有没有办法避免这一切,并让 Xcodedsymutil作为构建过程的一部分运行,可能是通过我不知道的构建设置?

我尝试使用 dsym 将调试信息格式设置为 dwarf,但 llvm-symbolizer 不使用它。我想不同之处在于 dsymutil 在可执行文件附近创建 .dsym 文件,bundle :内MyExec.dsym。当 Xcode在包之外创建它时:MyExec.app.dsym.

4

1 回答 1

0

在 Xcode 的 Build Settings 中,将调试格式从“DWARF”更改为“DWARF with dSYM”。

于 2020-10-17T08:54:34.613 回答