2017-03-31 23 views
6

我的编译命令在macOS Seria编译后是clang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o file ,它也生成一个额外的.dysy文件,它包含了所有的debug sybols。但是,当我使用WSL或其他* nix系统时,它不会生成这样的文件,调试符号被嵌入到可执行的二进制文件中。 所以我只是想知道是否有一种方法可以在macOS中使用clang来做同样的事情。如何告诉clang将调试符号放入可执行的二进制文件中?

回答

3

当您一次编译程序时,clang实际上为您运行dsymutil,它负责创建.dSYM文件。因此,解决您的问题的方法是单独编译和链接,在这种情况下clang不会自动调用dsymutil

检查this如有疑问,请联系我们!

相关问题